code: public void restoreMessage(SIMPMessage msgItem, boolean commit) throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "restoreMessage", new Object[] { msgItem });
  
      int priority = msgItem.getPriority();
      Reliability reliability = msgItem.getReliability();
      SIBUuid12 streamID = msgItem.getGuaranteedStreamUuid();
      StreamSet streamSet = getStreamSet(streamID);
  
      SourceStream sourceStream = null;
      synchronized(streamSet)
      {
        sourceStream = (SourceStream) streamSet.getStream(priority, reliability);
  
        if(sourceStream == null && reliability.compareTo(Reliability.BEST_EFFORT_NONPERSISTENT) > 0)
        {
          sourceStream = createStream(streamSet,
                                      priority,
                                      reliability,
                                      streamSet.getPersistentData(priority, reliability),
                                      true );
        }
      }
  
      // NOTE: sourceStream should only be null for express qos
      if(sourceStream != null)
      {
        if( !commit )
          sourceStream.restoreUncommitted(msgItem);
        else
          sourceStream.restoreValue(msgItem);
  
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "restoreMessage");
    }
docs: Put a message back into the appropriate source stream. This will create a stream
  if one does not exist but will not change any fields in the message
  
  @param msgItem The message to be restored
  @param commit  Boolean indicating whether message to be restored is in commit state