code: public ResultSet executeQuery(){
          Long start = null;
          if (logger.isTraceEnabled()) {
              start = System.currentTimeMillis();
          }
  
          try {
              return this.statement.executeQuery();
          } catch (SQLException ex) {
              throw new ApplicationException(Code.BACKEND_ERROR, ex);
          } finally {
              if (null != start && logger.isTraceEnabled()) {
                  long end = System.currentTimeMillis();
                  logger.trace("[{}ms] {}", (end - start), rawQuery);
              }
          }
      }
docs: Execute a query from the PreparedStatement and return the ResultSet.
  <p>
  
  <em>NOTE:</em> The returned ResultSet must be closed/managed by the calling methods.
  
  @return {@link PreparedStatement#executeQuery()}
  
  @throws ApplicationException If any SQL errors occur.