code: final ConnectionPoolConnection open() {
        ConnectionPoolConnection conn = availableQueue.poll();
        if(conn != null) {
           if(!testOnLogicalOpen) {
              conn.logicalOpen();
              conn.state.set(ConnectionPoolConnection.STATE_OPEN);
           } else {
              try {
                 conn.logicalOpenWithTest();
                 conn.state.set(ConnectionPoolConnection.STATE_OPEN);
              } catch(SQLException se) {
                 conn.state.set(ConnectionPoolConnection.STATE_REOPENING);
                 stats.connectionErrors.mark();
                 reopen(conn);
                 return open(); //Attempt to open another connection
              }
           }
        }
        return conn;
     }
docs: Opens a connection by obtaining one from the available queue.
  <p>
  If no connection is immediately available, {@code null} is returned.
  </p>
  @return A connection or {@code null} if none was immediately available.