public void WriteBinary(ISerializationContext context) { if (context == null) { throw new ArgumentNullException("context"); } // NOTE: DefaultValue is not preserved here [compat], but Partition serialization re-creates it from ColumnDetails. context.Writer.Write(_itemCount); context.Writer.Write(_batchCount); context.Writer.Write(_appendToBatchIndex); BinaryBlockSerializer.WriteSerializableArray(context, _index, 0, _itemCount); BinaryBlockSerializer.WriteSerializableArray(context, _batches, 0, _batchCount); }