docs: @Override
      public void unlockAll(int requestNumber) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "unlockAll", requestNumber);
  
          try {
              // Stop the session to prevent any (more) messages going - we only stop the session if the main consumer and
              // this async consumer session are both started. During async operation the main consumer will remain started
              // even when this async consumer is restarted and stopped each time a new msg is requested by the remote
              // client via SEG_RESTART_SESSION (restart) and consumeMessages (stop).
              final boolean wasStarted = started; // Remember whether this session was started or not
              if (mainConsumer.isStarted() && wasStarted) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(this, tc, "Stopping the consumer session");
                  getConsumerSession().stop();
                  started = false;
              } else {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(this, tc, "Consumer not fully started");
              }
  
              synchronized (this) {
                  // Increment the message batch
                  mainConsumer.incremenetMessageBatchNumber();
  
                  // Now perform the actual unlockAll
                  getConsumerSession().unlockAll();
              }
  
              short jfapPriority = JFapChannelConstants.getJFAPPriority(Integer.valueOf(mainConsumer.getLowestPriority()));
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Sending with JFAP priority of " + jfapPriority);
  
              try {
                  // and reply
                  getConversation().send(poolManager.allocate(),
                                         JFapChannelConstants.SEG_UNLOCK_ALL_R,
                                         requestNumber,
                                         jfapPriority,
                                         true,
                                         ThrottlingPolicy.BLOCK_THREAD,
                                         null);
              } catch (SIException e) {
                  FFDCFilter.processException(e,
                                              CLASS_NAME + ".unlockAll",
                                              CommsConstants.CATASYNCHCONSUMER_UNLOCKALL_02,
                                              this);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(tc, e.getMessage(), e);
  
                  SibTr.error(tc, "COMMUNICATION_ERROR_SICO2017", e);
              }
  
              // Now restart the session
              if (mainConsumer.isStarted() && wasStarted) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(this, tc, "Starting the consumer session");
                  getConsumerSession().start(false);
                  started = true;
              } else {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(this, tc, "Consumer was not fully started");
              }
          } catch (SIException e) {
              //No FFDC code needed
              //Only FFDC if we haven't received a meTerminated event.
              if (!((ConversationState) getConversation().getAttachment()).hasMETerminated()) {
                  FFDCFilter.processException(e,
                                              CLASS_NAME + ".unlockAll",
                                              CommsConstants.CATASYNCHCONSUMER_UNLOCKALL_01,
                                              this);
              }
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, e.getMessage(), e);
  
              StaticCATHelper.sendExceptionToClient(e,
                                                    CommsConstants.CATASYNCHCONSUMER_UNLOCKALL_01, // d186970
                                                    getConversation(), requestNumber);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "unlockAll");
      }