docs: private Connection getConnection(PooledConnection pconn, WSConnectionRequestInfoImpl cri, String userName) throws ResourceException
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(this, tc, "getConnection", AdapterUtil.toString(pconn));
  
          Connection conn = null;
          boolean isConnectionSetupComplete = false;
          try {
              conn = pconn.getConnection();
              postGetConnectionHandling(conn);
              isConnectionSetupComplete = true;
          } catch (SQLException se) {
              FFDCFilter.processException(se, getClass().getName(), "260", this);
              ResourceException x = AdapterUtil.translateSQLException(se, this, false, getClass());
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(this, tc, "getConnection", se);
              throw x;
          } finally {
              // Destroy the connection if we weren't able to successfully complete the setup.
              if (!isConnectionSetupComplete) {
                  if (conn != null)
                      try {
                          conn.close();
                      } catch (Throwable x) {
                      }
                  if (pconn != null)
                      try {
                          pconn.close();
                      } catch (Throwable x) {
                      }
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(this, tc, "getConnection", AdapterUtil.toString(conn));
          return conn;
      }