code: public static void shutdownExecutorService(ExecutorService executorService, Optional<Logger> logger) {
      shutdownExecutorService(executorService, logger, EXECUTOR_SERVICE_SHUTDOWN_TIMEOUT,
          EXECUTOR_SERVICE_SHUTDOWN_TIMEOUT_TIMEUNIT);
    }
docs: Shutdown an {@link ExecutorService} gradually, first disabling new task submissions and
  later cancelling existing tasks.
  
  <p>
  This method calls {@link #shutdownExecutorService(ExecutorService, Optional, long, TimeUnit)}
  with default timeout time {@link #EXECUTOR_SERVICE_SHUTDOWN_TIMEOUT} and time unit
  {@link #EXECUTOR_SERVICE_SHUTDOWN_TIMEOUT_TIMEUNIT}.
  </p>
  
  @param executorService the {@link ExecutorService} to shutdown
  @param logger an {@link Optional} wrapping a {@link Logger} to be used during shutdown