public int serialize( int offset, byte[] data, EscherSerializationListener listener ) {listener.beforeRecordSerialize( offset, getRecordId(), this );int pos = offset;LittleEndian.putShort( data, pos, getOptions() );     pos += 2;LittleEndian.putShort( data, pos, getRecordId() );    pos += 2;int remainingBytes =  getRecordSize() - 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, getRecordId(), pos - offset, this );return getRecordSize();}
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;}