code:     protected void doStop() throws Exception {
          super.doStop();
          // only stop non-shared client
          if (!sharedClient && client != null) {
              client.stop();
              // stop thread pool
              Object tp = getClientThreadPool();
              if (tp instanceof LifeCycle) {
                  LOG.debug("Stopping client thread pool {}", tp);
                  ((LifeCycle) tp).stop();
              }
          }
      }
  