public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException {
MessageAck info = (MessageAck)o;
super.looseMarshal(wireFormat, o, dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut);
looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut);
dataOut.writeByte(info.getAckType());
looseMarshalNestedObject(wireFormat, (DataStructure)info.getFirstMessageId(), dataOut);
looseMarshalNestedObject(wireFormat, (DataStructure)info.getLastMessageId(), dataOut);
dataOut.writeInt(info.getMessageCount());
looseMarshalThrowable(wireFormat, info.getPoisonCause(), dataOut);
}
}