code: public PreparedStatement wrapPreparedStatement(PreparedStatement preparedStatement, String sql) {
          Query query = new Query(sql);
          Timer.Context lifeTimerContext = getMetricHelper().startPreparedStatementLifeTimer(query);
          return newProxy(new PreparedStatementProxyHandler(preparedStatement, this, query, lifeTimerContext));
      }
docs: Wrap a prepared statement to monitor it.
  
  @param preparedStatement Prepared statement to wrap
  @param sql SQL
  @return Wrapped prepared statement