docs: private StreamSet getStreamSetForMessage(AbstractMessage msg) throws SIResourceException {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "getStreamSetForMessage", new Object[] {msg});
  
      SIBUuid12 streamID = msg.getGuaranteedStreamUUID();
      StreamSet streamSet = null;
  
      // Synchronize on the stream set while getting it, and persisting
      // any change.
      synchronized(streamSets)
      {
        streamSet = (StreamSet) streamSets.get(streamID);
        if (streamSet != null)
        {
          // We have an existing stream set.
          // We need to ensure that the destination UUID is correct, as
          // it is possible for this to change on the remote side if the
          // foreign bus (and hence virtual link UUID) is change. We must
          // send back our reply stamped with the correct destination UUID.
          SIBUuid12 msgDest = msg.getGuaranteedTargetDestinationDefinitionUUID();
          if (msgDest != null && !msgDest.equals(streamSet.getDestUuid())) {
            // Update our in-memory destination UUID on the stream set.
            // Note that we don't attempt to persist any change here.
            // The change will be persisted the next time the stream set
            // is persisted for any other reason. There is no benefit
            // to updating the persisted representation here (and doing
            // so has been seen to fail in some cases).
            streamSet.setDestUuid(msgDest);
          }
        }
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "getStreamSetForMessage", streamSet);
      return streamSet;
     }