// 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        RemoveInfo info = (RemoveInfo)o;
        TightMarshalCachedObject2(wireFormat, (DataStructure)info.ObjectId, dataOut, bs);

    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        ConsumerInfo info = (ConsumerInfo)o;
        info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
        info.Browser = bs.ReadBoolean();
        info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
        info.PrefetchSize = dataIn.ReadInt32();
        info.MaximumPendingMessageLimit = dataIn.ReadInt32();
        info.DispatchAsync = bs.ReadBoolean();
        info.Selector = TightUnmarshalString(dataIn, bs);
        info.SubscriptionName = TightUnmarshalString(dataIn, bs);
        info.NoLocal = bs.ReadBoolean();
        info.Exclusive = bs.ReadBoolean();
        info.Retroactive = bs.ReadBoolean();
        info.Priority = dataIn.ReadByte();

        if (bs.ReadBoolean()) {
            short size = dataIn.ReadInt16();
            BrokerId[] value = new BrokerId[size];
            for( int i=0; i < size; i++ ) {
                value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
            }
            info.BrokerPath = value;
        }
        else {
            info.BrokerPath = null;
        }
        info.AdditionalPredicate = (BooleanExpression) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
        info.NetworkSubscription = bs.ReadBoolean();
        info.OptimizedAcknowledge = bs.ReadBoolean();
        info.NoRangeAcks = bs.ReadBoolean();

    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        BrokerInfo info = (BrokerInfo)o;
        info.BrokerId = (BrokerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
        info.BrokerURL = TightUnmarshalString(dataIn, bs);

        if (bs.ReadBoolean()) {
            short size = dataIn.ReadInt16();
            BrokerInfo[] value = new BrokerInfo[size];
            for( int i=0; i < size; i++ ) {
                value[i] = (BrokerInfo) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
            }
            info.PeerBrokerInfos = value;
        }
        else {
            info.PeerBrokerInfos = null;
        }
        info.BrokerName = TightUnmarshalString(dataIn, bs);
        info.SlaveBroker = bs.ReadBoolean();
        info.MasterBroker = bs.ReadBoolean();
        info.FaultTolerantConfiguration = bs.ReadBoolean();

    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        IntegerResponse info = (IntegerResponse)o;
        dataOut.Write(info.Result);

    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        JournalTrace info = (JournalTrace)o;
        TightMarshalString2(info.Message, dataOut, bs);

    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        ControlCommand info = (ControlCommand)o;
        TightMarshalString2(info.Command, dataOut, bs);

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        ShutdownInfo info = (ShutdownInfo)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 0;
    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        ActiveMQTempDestination info = (ActiveMQTempDestination)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 0;
    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        ActiveMQDestination info = (ActiveMQDestination)o;
        TightMarshalString2(info.PhysicalName, dataOut, bs);

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        LastPartialCommand info = (LastPartialCommand)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 0;
    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        ConnectionInfo info = (ConnectionInfo)o;
        info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
        info.ClientId = TightUnmarshalString(dataIn, bs);
        info.Password = TightUnmarshalString(dataIn, bs);
        info.UserName = TightUnmarshalString(dataIn, bs);

        if (bs.ReadBoolean()) {
            short size = dataIn.ReadInt16();
            BrokerId[] value = new BrokerId[size];
            for( int i=0; i < size; i++ ) {
                value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
            }
            info.BrokerPath = value;
        }
        else {
            info.BrokerPath = null;
        }
        info.BrokerMasterConnector = bs.ReadBoolean();
        info.Manageable = bs.ReadBoolean();

    }
 protected virtual int TightMarshalNestedObject1(
     OpenWireFormat wireFormat,
     DataStructure o,
     BooleanStream bs)
 {
     return wireFormat.TightMarshalNestedObject1(o, bs);
 }
 protected virtual DataStructure TightUnmarshalNestedObject(
     OpenWireFormat wireFormat,
     BinaryReader dataIn,
     BooleanStream bs)
 {
     return wireFormat.TightUnmarshalNestedObject(dataIn, bs);
 }
 public virtual void TightUnmarshal(
     OpenWireFormat wireFormat,
     Object o,
     BinaryReader dataIn,
     BooleanStream bs)
 {
 }
 public virtual void TightMarshal2(
     OpenWireFormat wireFormat,
     Object o,
     BinaryWriter dataOut,
     BooleanStream bs)
 {
 }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        ConnectionId info = (ConnectionId)o;
        TightMarshalString2(info.Value, dataOut, bs);

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        ActiveMQMapMessage info = (ActiveMQMapMessage)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 0;
    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        ReplayCommand info = (ReplayCommand)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 8;
    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        DataResponse info = (DataResponse)o;
        TightMarshalNestedObject2(wireFormat, (DataStructure)info.Data, dataOut, bs);

    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        Response info = (Response)o;
        dataOut.Write(info.CorrelationId);

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        Response info = (Response)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 4;
    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        TransactionId info = (TransactionId)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);

        return rc + 0;
    }
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        ExceptionResponse info = (ExceptionResponse)o;
        TightMarshalBrokerError2(wireFormat, info.Exception, dataOut, bs);

    }
        public void configure(OpenWireFormat format) 
        {
            format.clearMarshallers();
            format.addMarshaller(new ActiveMQBytesMessageMarshaller());
            format.addMarshaller(new ActiveMQMapMessageMarshaller());
            format.addMarshaller(new ActiveMQMessageMarshaller());
            format.addMarshaller(new ActiveMQObjectMessageMarshaller());
            format.addMarshaller(new ActiveMQQueueMarshaller());
            format.addMarshaller(new ActiveMQStreamMessageMarshaller());
            format.addMarshaller(new ActiveMQTempQueueMarshaller());
            format.addMarshaller(new ActiveMQTempTopicMarshaller());
            format.addMarshaller(new ActiveMQTextMessageMarshaller());
            format.addMarshaller(new ActiveMQTopicMarshaller());
            format.addMarshaller(new BrokerIdMarshaller());
            format.addMarshaller(new BrokerInfoMarshaller());
            format.addMarshaller(new ConnectionControlMarshaller());
            format.addMarshaller(new ConnectionErrorMarshaller());
            format.addMarshaller(new ConnectionIdMarshaller());
            format.addMarshaller(new ConnectionInfoMarshaller());
            format.addMarshaller(new ConsumerControlMarshaller());
            format.addMarshaller(new ConsumerIdMarshaller());
            format.addMarshaller(new ConsumerInfoMarshaller());
            format.addMarshaller(new ControlCommandMarshaller());
            format.addMarshaller(new DataArrayResponseMarshaller());
            format.addMarshaller(new DataResponseMarshaller());
            format.addMarshaller(new DestinationInfoMarshaller());
            format.addMarshaller(new DiscoveryEventMarshaller());
            format.addMarshaller(new ExceptionResponseMarshaller());
            format.addMarshaller(new FlushCommandMarshaller());
            format.addMarshaller(new IntegerResponseMarshaller());
            format.addMarshaller(new JournalQueueAckMarshaller());
            format.addMarshaller(new JournalTopicAckMarshaller());
            format.addMarshaller(new JournalTraceMarshaller());
            format.addMarshaller(new JournalTransactionMarshaller());
            format.addMarshaller(new KeepAliveInfoMarshaller());
            format.addMarshaller(new LastPartialCommandMarshaller());
            format.addMarshaller(new LocalTransactionIdMarshaller());
            format.addMarshaller(new MessageAckMarshaller());
            format.addMarshaller(new MessageDispatchMarshaller());
            format.addMarshaller(new MessageDispatchNotificationMarshaller());
            format.addMarshaller(new MessageIdMarshaller());
            format.addMarshaller(new MessagePullMarshaller());
            format.addMarshaller(new NetworkBridgeFilterMarshaller());
            format.addMarshaller(new PartialCommandMarshaller());
            format.addMarshaller(new ProducerIdMarshaller());
            format.addMarshaller(new ProducerInfoMarshaller());
            format.addMarshaller(new RemoveInfoMarshaller());
            format.addMarshaller(new RemoveSubscriptionInfoMarshaller());
            format.addMarshaller(new ReplayCommandMarshaller());
            format.addMarshaller(new ResponseMarshaller());
            format.addMarshaller(new SessionIdMarshaller());
            format.addMarshaller(new SessionInfoMarshaller());
            format.addMarshaller(new ShutdownInfoMarshaller());
            format.addMarshaller(new SubscriptionInfoMarshaller());
            format.addMarshaller(new TransactionInfoMarshaller());
            format.addMarshaller(new WireFormatInfoMarshaller());
            format.addMarshaller(new XATransactionIdMarshaller());

    	}
    // 
    // Write a object instance to data output stream
    //
    public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) {
        base.TightMarshal2(wireFormat, o, dataOut, bs);

        ActiveMQMessage info = (ActiveMQMessage)o;

        info.AfterMarshall(wireFormat);

    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        ExceptionResponse info = (ExceptionResponse)o;
        info.Exception = TightUnmarshalBrokerError(wireFormat, dataIn, bs);

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        RemoveInfo info = (RemoveInfo)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);
        rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ObjectId, bs);

        return rc + 0;
    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        RemoveInfo info = (RemoveInfo)o;
        info.ObjectId = (DataStructure) TightUnmarshalCachedObject(wireFormat, dataIn, bs);

    }
    // 
    // Un-marshal an object instance from the data input stream
    // 
    public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) 
    {
        base.TightUnmarshal(wireFormat, o, dataIn, bs);

        Response info = (Response)o;
        info.CorrelationId = dataIn.ReadInt32();

    }
    //
    // Write the booleans that this object uses to a BooleanStream
    //
    public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) {
        ExceptionResponse info = (ExceptionResponse)o;

        int rc = base.TightMarshal1(wireFormat, info, bs);
        rc += TightMarshalBrokerError1(wireFormat, info.Exception, bs);

        return rc + 0;
    }