public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
{
MessageAck info = (MessageAck)o;
base.LooseMarshal(wireFormat, o, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
dataOut.Write(info.AckType);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.FirstMessageId, dataOut);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.LastMessageId, dataOut);
dataOut.Write(info.MessageCount);
}