code: @FFDCIgnore(value = { InterruptedException.class })
      public void close() {
          // remove all the clients from the deque, closing them as we go
          while (numClientsClosed.get() < numClients) {
              try {
                  Client client = clients.takeFirst();
                  try {
                      client.close();
                  } catch (Exception e) {
                      //Ignore this
                  }
                  numClientsClosed.incrementAndGet();
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      Tr.event(tc, "pool closed   - " + numClientsClosed + " of " + numClients + " clients closed");
              } catch (InterruptedException e) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      Tr.event(tc, "InterruptedException during close - will retry");
              }
          }
      }
docs: /*
  Closes all clients. Waits for checked out clients to be checked in, then closes them too.