public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
{
ConsumerInfo info = (ConsumerInfo)o;
base.LooseMarshal(wireFormat, o, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
dataOut.Write(info.Browser);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
dataOut.Write(info.PrefetchSize);
dataOut.Write(info.MaximumPendingMessageLimit);
dataOut.Write(info.DispatchAsync);
LooseMarshalString(info.Selector, dataOut);
LooseMarshalString(info.SubscriptionName, dataOut);
dataOut.Write(info.NoLocal);
dataOut.Write(info.Exclusive);
dataOut.Write(info.Retroactive);
dataOut.Write(info.Priority);
LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.AdditionalPredicate, dataOut);
dataOut.Write(info.NetworkSubscription);
dataOut.Write(info.OptimizedAcknowledge);
dataOut.Write(info.NoRangeAcks);
LooseMarshalObjectArray(wireFormat, info.NetworkConsumerPath, dataOut);
}