docs: private SQLException createTimeoutException(long startTime)
     {
        logPoolState("Timeout failure ");
        metricsTracker.recordConnectionTimeout();
  
        String sqlState = null;
        final Throwable originalException = getLastConnectionFailure();
        if (originalException instanceof SQLException) {
           sqlState = ((SQLException) originalException).getSQLState();
        }
        final SQLException connectionException = new SQLTransientConnectionException(poolName + " - Connection is not available, request timed out after " + elapsedMillis(startTime) + "ms.", sqlState, originalException);
        if (originalException instanceof SQLException) {
           connectionException.setNextException((SQLException) originalException);
        }
  
        return connectionException;
     }