public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
{
MessageDispatch info = (MessageDispatch)o;
base.LooseMarshal(wireFormat, o, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.Message, dataOut);
dataOut.Write(info.RedeliveryCounter);
}