docs: public synchronized void stop(long quietPeriod, long timeout, TimeUnit unit) throws Exception {
      if (state == State.STOPPED) {
        LOG.debug("Ignore stop() call on HTTP service {} since it has already been stopped.", serviceName);
        return;
      }
  
      LOG.info("Stopping HTTP Service {}", serviceName);
  
      try {
        try {
          channelGroup.close().awaitUninterruptibly();
        } finally {
          try {
            shutdownExecutorGroups(quietPeriod, timeout, unit,
                                   bootstrap.config().group(), bootstrap.config().childGroup(), eventExecutorGroup);
          } finally {
            resourceHandler.destroy(handlerContext);
          }
        }
      } catch (Throwable t) {
        state = State.FAILED;
        throw t;
      }
      state = State.STOPPED;
      LOG.debug("Stopped HTTP Service {} on address {}", serviceName, bindAddress);
    }