public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataByteArrayInputStream dataIn, BooleanStream bs) throws IOException {
super.tightUnmarshal(wireFormat, o, dataIn, bs);
Message info = (Message)o;
info.beforeUnmarshall(wireFormat);
info.setProducerId((ProducerId)tightUnmarsalCachedObject(wireFormat, dataIn, bs));
info.setDestination((ActiveMQDestination)tightUnmarsalCachedObject(wireFormat, dataIn, bs));
info.setTransactionId((TransactionId)tightUnmarsalCachedObject(wireFormat, dataIn, bs));
info.setOriginalDestination((ActiveMQDestination)tightUnmarsalCachedObject(wireFormat, dataIn, bs));