/** Write the booleans that this object uses to a BooleanStream */
  @Override
  public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut)
      throws IOException {
    MessageId info = (MessageId) o;

    super.looseMarshal(wireFormat, o, dataOut);
    looseMarshalString(info.getTextView(), dataOut);
    looseMarshalCachedObject(wireFormat, info.getProducerId(), dataOut);
    looseMarshalLong(wireFormat, info.getProducerSequenceId(), dataOut);
    looseMarshalLong(wireFormat, info.getBrokerSequenceId(), dataOut);
  }
  /**
   * Write a object instance to data output stream
   *
   * @param o the instance to be marshaled
   * @param dataOut the output stream
   * @throws IOException thrown if an error occurs
   */
  @Override
  public void tightMarshal2(
      OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs)
      throws IOException {
    super.tightMarshal2(wireFormat, o, dataOut, bs);

    MessageId info = (MessageId) o;
    tightMarshalString2(info.getTextView(), dataOut, bs);
    tightMarshalCachedObject2(wireFormat, info.getProducerId(), dataOut, bs);
    tightMarshalLong2(wireFormat, info.getProducerSequenceId(), dataOut, bs);
    tightMarshalLong2(wireFormat, info.getBrokerSequenceId(), dataOut, bs);
  }
  /** Write the booleans that this object uses to a BooleanStream */
  @Override
  public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
      throws IOException {
    MessageId info = (MessageId) o;

    int rc = super.tightMarshal1(wireFormat, o, bs);
    rc += tightMarshalString1(info.getTextView(), bs);
    rc += tightMarshalCachedObject1(wireFormat, info.getProducerId(), bs);
    rc += tightMarshalLong1(wireFormat, info.getProducerSequenceId(), bs);
    rc += tightMarshalLong1(wireFormat, info.getBrokerSequenceId(), bs);

    return rc + 0;
  }