code: private SourceStream createStream(StreamSet streamSet,
                                int priority,
                                Reliability reliability) throws SIResourceException
  
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "createStream", new Object[] {streamSet, new Integer(priority), reliability});
  
      SourceStream stream = null;
  
      //there is no source stream for express messages
      if(reliability.compareTo(Reliability.BEST_EFFORT_NONPERSISTENT) > 0)
      {
        //Warning - this assumes that ASSURED is always the highest Reliability
        //and that UNKNOWN is always the lowest (0).
        stream = new SourceStream(priority, //priority
                          reliability, //reliability
                          downControl,
                          new ArrayList(),
                          streamSet,
                          messageProcessor.getAlarmManager(),
                          destinationHandler);
      }
  
      streamSet.setStream(priority, reliability, stream);
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "createStream", stream);
  
      return stream;
    }
docs: Create a new Source Stream and store it in the given StreamSet
  
  @param streamSet
  @param priority
  @param reliability
  @return a new SourceStream
  @throws SIResourceException