code: public Connection getConnection() throws SQLException {
      try {
        if (pool == null) {
          initialize();
        }
        return pool.getConnection();
      } catch (SQLException e) {
        throw ExceptionMapper.getException(e, null, null, false);
      }
    }
docs: Attempts to establish a connection with the data source that this <code>DataSource</code>
  object represents.
  
  @return a connection to the data source
  @throws SQLException if a database access error occurs