public override void Write(BinaryWriter writer, object obj)
{
var f = obj as FieldList;
int count = Enumerable.Range(0, f.Size).Count(i => f[i] != 0);
writer.Write(count);
for (int i = 0; i < f.Size; i++)
{
if (f[i] != 0)
{
writer.Write(i);
writer.Write(f[i]);
}
}
}
}