code: public void stopConsumer() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "stopConsumer");
          try {
              // lock the consumerSession to ensure visibility of update to started.
              synchronized (consumerSession) {
                  consumerSession.getConsumerSession().stop();
                  consumerSession.started = false;
              }
          } catch (Throwable t) {
              FFDCFilter.processException(t,
                                          CLASS_NAME + ".consumeMessages",
                                          CommsConstants.CATASYNCHRHREADER_CONSUME_MSGS_02,
                                          this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Unable to stop consumer session due to Throwable: " + t);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "stopConsumer");
      }
docs: Safely stop the consumer
  
  @param Message to be traced for stop reason.