docs: private void doWait(long loginTimeoutExpiration) throws SQLException {
  
          try {
              if (loginTimeoutExpiration > 0) {
                  long timeToWait = loginTimeoutExpiration
                                    - System.currentTimeMillis();
  
                  if (timeToWait > 0) {
                      this.wait(timeToWait);
                  } else {
                      throw new SQLException(
                          "No connections available within the given login timeout: "
                          + getLoginTimeout());
                  }
              } else {
                  this.wait();
              }
          } catch (InterruptedException e) {
              throw new SQLException(
                  "Thread was interrupted while waiting for available connection");
          }
      }