code: protected void releaseConnection(Connection connection) throws SQLException {
  		ConnectionHandle handle = (ConnectionHandle)connection;
  
  		// hook calls
  		if (handle.getConnectionHook() != null){
  			handle.getConnectionHook().onCheckIn(handle);
  		}
  
  		// release immediately or place it in a queue so that another thread will eventually close it. If we're shutting down,
  		// close off the connection right away because the helper threads have gone away.
  		if (!this.poolShuttingDown){
  			internalReleaseConnection(handle);
  		}
  	}
docs: Releases the given connection back to the pool. This method is not intended to be called by
  applications (hence set to protected). Call connection.close() instead which will return
  the connection back to the pool.
  
  @param connection to release
  @throws SQLException