docs: public void close() {
      synchronized (lock) {
        while (!available.isEmpty()) {
          PooledConnection pci = available.pop();
          try {
            pci.close();
          } catch (SQLException e) {
          }
        }
        available = null;
        while (!used.isEmpty()) {
          PooledConnection pci = used.pop();
          pci.removeConnectionEventListener(connectionEventListener);
          try {
            pci.close();
          } catch (SQLException e) {
          }
        }
        used = null;
      }
      removeStoredDataSource();
    }