code: public final JsMessage getReceived() throws MessageCopyFailedException {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getReceived");
  
       /* Now get the JsMessage to return */
      JsMessage newMsg = createNew();
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getReceived", newMsg);
      return newMsg;
    }
docs: /*
  Return a 'safe copy' of the JsMessage.
  This method must be called by the Message processor during 'receive'
  processing for a pub/sub message. It must be called BEFORE the headers are
  set for the receive. The Message Processor should then return this
  'copy' to the receiver, which can then make any changes without affecting
  the message in the bus or the copy given to any other receivers.
  
  Javadoc description supplied by JsMessage interface.