docs: @Override
      public Object getSQLJContext(WSRdbManagedConnectionImpl mc, Class<?> DefaultContext, WSConnectionManager connMgr) throws SQLException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); 
  
          if (isTraceOn && tc.isEntryEnabled()) 
              Tr.entry(this, tc, "getSQLJContext");
          Object rtnctx = null; 
          try {
              if (mc.cachedConnection == null) {
                  mc.cachedConnection = mcf.jdbcRuntime.newConnection(mc, mc.sqlConn, WSRdbManagedConnectionImpl.key, mc.threadID);
                  mc.cachedConnection.initialize(connMgr, WSRdbManagedConnectionImpl.key);
                  mc.cachedConnection.setCurrentAutoCommit(mc.currentAutoCommit, WSRdbManagedConnectionImpl.key);
              } else { 
                  /*
                   * Need to set the mc's threadid to prevent false multi thread detection.
                   */
                  mc.cachedConnection.setThreadID(mc.threadID, WSRdbManagedConnectionImpl.key); 
              }
          } catch (ResourceException rex) {
              FFDCFilter.processException(rex, getClass().getName(), "550", this);
              SQLException sqlX = AdapterUtil.toSQLException(rex);
              if (isTraceOn && tc.isEntryEnabled()) 
                  Tr.exit(this, tc, "getSQLJContext", rex);
              throw sqlX; 
          } catch (SQLException sqlx) {
              FFDCFilter.processException(sqlx, getClass().getName(), "1009", this);
              if (isTraceOn && tc.isEntryEnabled()) 
                  Tr.exit(this, tc, "getSQLJContext", sqlx);
              throw WSJdbcUtil.mapException(mc.cachedConnection, sqlx); 
          }
  
          try {
              rtnctx = DefaultContext.getConstructor(Connection.class).newInstance(mc.cachedConnection);
          } catch (Exception x) {
              FFDCFilter.processException(x, getClass().getName(), "549", this);
              if (x instanceof InvocationTargetException && x.getCause() instanceof SQLException) {
                  SQLException sqlX = WSJdbcUtil.mapException(mc.cachedConnection, (SQLException) x.getCause());
                  if (isTraceOn && tc.isEntryEnabled()) 
                      Tr.exit(this, tc, "getSQLJContext", sqlX);
                  throw sqlX;
              } else {
                  RuntimeException rx = x instanceof RuntimeException ? (RuntimeException) x : new RuntimeException(x);
                  if (isTraceOn && tc.isEntryEnabled()) 
                      Tr.exit(this, tc, "getSQLJContext", x);
                  throw rx;
              }
          }
          if (isTraceOn && tc.isEntryEnabled()) 
              Tr.exit(this, tc, "getSQLJContext", rtnctx);
          return rtnctx;
      }