docs: @SuppressWarnings("rawtypes")
      public CompletableFuture<Void> shutdownAsync(long quietPeriod, long timeout, TimeUnit timeUnit) {
  
          if (shutdown.compareAndSet(false, true)) {
  
              logger.debug("Initiate shutdown ({}, {}, {})", quietPeriod, timeout, timeUnit);
              return closeResources().thenCompose((value) -> closeClientResources(quietPeriod, timeout, timeUnit));
          }
  
          return completedFuture(null);
      }