text: public override int Serialize(int offset, byte[] data, EscherSerializationListener listener){listener.BeforeRecordSerialize(offset, RecordId, this);LittleEndian.PutShort(data, offset, Options);LittleEndian.PutShort(data, offset + 2, RecordId);LittleEndian.PutInt(data, offset + 4, RecordSize - HEADER_SIZE);int pos = offset + HEADER_SIZE;Array.Copy(field_1_UID, 0, data, pos, 16);data[pos + 16] = field_2_marker;Array.Copy(field_pictureData, 0, data, pos + 17, field_pictureData.Length);listener.AfterRecordSerialize(offset + RecordSize, RecordId, RecordSize, this);return HEADER_SIZE + 16 + 1 + field_pictureData.Length;}