docs: private SIBusMessage getNextMessage(BrowserSession browserSession,
                                          Conversation conversation,
                                          short requestNumber)
                      throws OperationFailedException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getNextMessage",
                                             new Object[]
                                             {
                                                browserSession,
                                                conversation,
                                                "" + requestNumber
                                             });
  
          SIBusMessage msg = null;
  
          try {
              msg = browserSession.next();
          } catch (SIException e) {
              //No FFDC code needed
              //Only FFDC if we haven't received a meTerminated event.
              if (!((ConversationState) conversation.getAttachment()).hasMETerminated()) {
                  FFDCFilter.processException(e, CLASS_NAME + ".getNextMessage",
                                              CommsConstants.CATBROWSECONSUMER_GETNEXTMESSAGE_01,
                                              this);
              }
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, e.getMessage(), e);
  
              StaticCATHelper.sendExceptionToClient(e,
                                                    CommsConstants.CATBROWSECONSUMER_GETNEXTMESSAGE_01,
                                                    conversation, requestNumber);
              throw new OperationFailedException();
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getNextMessage", msg);
          return msg;
      }