code: private void nextQueue()
    {
      if(super.hasNext())
      {      
        do
        {
          if(_currentSubIterator != null) _currentSubIterator.finished();
          _currentSubIterator = null;
          _currentQueue = (SIMPQueueControllable) super.next();
          
          try
          {
            _currentSubIterator = _currentQueue.getRemoteQueuePointIterator();
          }
          catch (SIMPException e) 
          {
            // No FFDC code needed
          
            if (tc.isDebugEnabled())
              SibTr.exception(tc, e);          
          }       
        }
        // Retry if we failed to get an iterator, that iterator does not
        // have any remote queue points in it and we have more queues available.
        while((_currentSubIterator == null || !_currentSubIterator.hasNext())
          && super.hasNext());
      }
      else
      {
        _currentQueue = null;
        if(_currentSubIterator != null) _currentSubIterator.finished();
        _currentSubIterator = null;
      }
    }
docs: Move to the next stream which has active ranges