public override void Save(BinaryWriter W)
{
// this.Commit ();
W.Write (this.N);
W.Write (this.M);
W.Write (this.B);
//Console.WriteLine ("xxxxxx save samples.count {0}. N: {1}, M: {2}, B: {3}, BitCount: {4}",
// this.Samples.Count, this.N, this.M, this.B, this.Stream.CountBits);
/*if (this.Samples.Count > PLAIN_SAMPLES_THRESHOLD) {
var sa = new SArray ();
sa.Build (this.Samples);
sa.Save (W);
sa = new SArray ();
sa.Build (this.Offsets);
sa.Save (W);
} else {*/
PrimitiveIO<int>.SaveVector (W, this.Samples);
PrimitiveIO<long>.SaveVector (W, this.Offsets);
//}
IEncoder32GenericIO.Save (W, this.Coder);
this.Stream.Save (W);
}