code: @Override
      public synchronized void stop(final StopContext stopContext) {
          final ExecutorService executorService = executor.getValue();
          final Runnable task = new Runnable() {
              @Override
              public void run() {
                  try {
                      responseAttachmentSupport.shutdown();
                      // Shut down new requests to the client request executor,
                      // but don't mess with currently running tasks
                      clientRequestExecutor.shutdown();
                  } finally {
                      stopContext.complete();
                  }
              }
          };
          try {
              executorService.execute(task);
          } catch (RejectedExecutionException e) {
              task.run();
          } finally {
              stopContext.asynchronous();
          }
  
      }
docs: {@inheritDoc}