code: public Iterator<Stream> iterator() throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(this, tc, "iterator");
        
      List<Stream> streams = new ArrayList<Stream>();
      for (int j = 0; j < maxReliabilityIndex + 1; j++)
      {
        ReliabilitySubset subset = getSubset(getReliability(j));
        if(subset != null)
        {
          for (int i = 0; i < SIMPConstants.MSG_HIGH_PRIORITY + 1; i++)
          {      
            Stream stream = subset.getStream(i);
            if (stream != null)
              streams.add(stream);
          }
        }
      }
      
      Iterator<Stream> itr = streams.iterator();
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "iterator", itr);
      
      return itr;
    }
docs: Get an iterator over all of the non-null streams. The order is not
  guaranteed.
  @throws SIResourceException