code: public Object internalReadObject() throws JMSException
      {
          if (!bodyIsReadOnly)
              throw new MessageNotReadableException("Message body is write only");
              
          if (readPos >= body.size())
              throw new MessageEOFException("End of stream reached");
          
          if (currentByteInputStream != null)
              throw new MessageFormatException("Cannot read another object before the end of the byte array");
          
          return body.get(readPos++);
      }
docs: /*
  (non-Javadoc)
  @see javax.jms.StreamMessage#internalReadObject()