text: public override int Serialize(int offset, byte [] data){byte[] rawData = RawData;if (EscherRecords.Count == 0 && rawData != null){return WriteData(offset, data, rawData);}else{byte[] buffer = new byte[RawDataSize];int pos = 0;for (IEnumerator iterator = EscherRecords.GetEnumerator(); iterator.MoveNext(); ){EscherRecord r = (EscherRecord)iterator.Current;pos += r.Serialize(pos, buffer, new NullEscherSerializationListener());}return WriteData(offset, data, buffer);}}