docs: public synchronized boolean next(long seqNum)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "next",
        new Long(seqNum));
  
      // cancel the existing alarm and create a new one
      expiryAlarmHandle.cancel();
      expiryAlarmHandle =
        am.create(parent.getMessageProcessor().getCustomProperties().get_browse_expiry_timeout(), this);
  
      if (closed)
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "next", new Boolean(closed));
  
        return true;
      }
  
      if (seqNum == expectedSequenceNumber)
      {
        try
        {
          JsMessage msg = browseCursor.next();
          if (msg != null)
          { // a message was found
            parent.sendBrowseData(msg, remoteMEUuid, gatheringTargetDestUuid, key.getRemoteMEUuid(), key.getBrowseId(), expectedSequenceNumber);
            expectedSequenceNumber++;
          }
          else
          { // no more messages in the cursor
            parent.sendBrowseEnd(remoteMEUuid, gatheringTargetDestUuid, key.getBrowseId(), SIMPConstants.BROWSE_OK);
            close();
          }
        }
        catch (SIException e)
        {
          // SIResourceException shouldn't occur so FFDC.
          FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.impl.AOBrowserSession.next",
            "1:182:1.30",
            this);
  
          Exception e2 =
            new SIResourceException(nls.getFormattedMessage(
              "INTERNAL_MESSAGING_ERROR_CWSIP0002",
              new Object[] {
                "com.ibm.ws.sib.processor.impl.AOBrowserSession",
                "1:190:1.30",
                e },
              null),
            e);
  
          SibTr.exception(tc, e2);
          SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.impl.AOBrowserSession",
              "1:199:1.30",
              e });
  
          parent.sendBrowseEnd(remoteMEUuid, gatheringTargetDestUuid, key.getBrowseId(), SIMPConstants.BROWSE_STORE_EXCEPTION);
          close();
        }
      }
      else
      { // wrong sequence number
        parent.sendBrowseEnd(remoteMEUuid, gatheringTargetDestUuid, key.getBrowseId(), SIMPConstants.BROWSE_OUT_OF_ORDER);
        close();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "next", new Boolean(closed));
  
      return closed;
    }