code: public JsMessage next() throws SIResourceException, SISessionDroppedException 
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "next");
      
      JsMessage msg = null;
      Iterator<BrowseCursor> it = cursors.iterator();
      while(it.hasNext() && msg==null)
        msg = it.next().next();     
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "next");
      
      return msg;
    }
docs: The gathering browse will browse messages from the local itemstream as
  a priority. If none are found it will move through the other queue points
  until it finds a message.