code: public ResultSet wrapResultSet(ResultSet resultSet, String sql) {
          Query query = new Query(sql);
          Timer.Context lifeTimerContext = metricHelper.startResultSetLifeTimer(query);
          return (ResultSet) newProxy(new ResultSetProxyHandler(resultSet, getResultSetType(resultSet), this, query, lifeTimerContext));
      }
docs: Wrap a result set to monitor it.
  
  @param resultSet set to wrap
  @param sql SQL related to Result set
  @return Wrapped prepared statement