docs: void shutdownAndAwaitTermination(ExecutorService pool) {
          pool.shutdownNow(); // Disable new tasks from being submitted
          try {
              logger.debug("Waiting up to 30 seconds for ExecutorService to shut down");
              // Wait a while for existing tasks to terminate
              if (!pool.awaitTermination(30, TimeUnit.SECONDS)) {
                  logger.debug("Pool did not terminate");
              }
          } catch (InterruptedException ie) {
              // (Re-)Cancel if current thread also interrupted
              pool.shutdownNow();
              // Preserve interrupt status
              Thread.currentThread().interrupt();
          }
      }