docs: public void quiesceIfPossible() throws ResourceException {
  
          if (tc.isEntryEnabled()) {
              Tr.entry(this, tc, "quiesceIfPossible", _quiesce);
          }
          if (!_quiesce) { // only do this the first time we're called
              _quiesce = true;
              _quiesceTime = new Date(System.currentTimeMillis());
  
              //  Begin block copied from serverShutdown()
              for (int j = 0; j < maxFreePoolHashSize; ++j) {
                  synchronized (freePool[j].freeConnectionLockObject) {
                      /*
                       * If a connection gets away, by setting fatalErrorNotificationTime will
                       * guaranty when the connection is returned to the free pool, it will be
                       */
                      freePool[j].incrementFatalErrorValue(j);
                      /*
                       * Destroy as many connections as we can in the free pool
                       */
                      if (freePool[j].mcWrapperList.size() > 0) {
                          freePool[j].cleanupAndDestroyAllFreeConnections();
                      }
                  } // end free lock
              } //end for j
                // End block copied from serverShutdown()
  
          }
  
          if (totalConnectionCount.get() == 0) {
              quiesce();
          }
  
          if (tc.isEntryEnabled()) {
              Tr.exit(this, tc, "quiesceIfPossible");
          }
  
      }