text: public override int Serialize(int offset, byte[] data, EscherSerializationListener listener){listener.BeforeRecordSerialize(offset, RecordId, this);int pos = offset;LittleEndian.PutShort(data, pos, Options); pos += 2;LittleEndian.PutShort(data, pos, RecordId); pos += 2;int remainingBytes = RecordSize - 8;LittleEndian.PutInt(data, pos, remainingBytes); pos += 4;LittleEndian.PutInt(data, pos, field_1_color1); pos += 4;LittleEndian.PutInt(data, pos, field_2_color2); pos += 4;LittleEndian.PutInt(data, pos, field_3_color3); pos += 4;LittleEndian.PutInt(data, pos, field_4_color4); pos += 4;listener.AfterRecordSerialize(pos, RecordId, pos - offset, this);return RecordSize;}