code: @Override
    public void shutdown() {
      if (!active.compareAndSet(true, false) ) {
        throw new IllegalArgumentException("shutdown() called for inactive pool: " + getName());
      }
      log.info("Shutdown triggered on {}", getName());
      Set<HClient> clients = new HashSet<HClient>();
      availableClientQueue.drainTo(clients);
      if ( clients.size() > 0 ) {
        for (HClient hClient : clients) {
          hClient.close();
        }
      }
      log.info("Shutdown complete on {}", getName());
    }
docs: Controlled shutdown of pool. Go through the list of available clients
  in the queue and call {@link HClient#close()} on each. Toggles
  a flag to indicate we are going into shutdown mode. Any subsequent calls
  will throw an IllegalArgumentException.