code: protected final ResultSet executePreparedQuery(String sql, List<Object> params)
              throws SQLException {
          AbstractQueryCommand command = createPreparedQueryCommand(sql, params);
          ResultSet rs = null;
          try {
              rs = command.execute();
          } finally {
              command.closeResources();
          }
          return rs;
      }
docs: Useful helper method which handles resource management when executing a
  prepared query which returns a result set.
  Derived classes of Sql can override "createPreparedQueryCommand" and then
  call this method to access the ResultSet returned from the provided query.
  
  @param sql    query to execute
  @param params parameters matching question mark placeholders in the query
  @return the resulting ResultSet
  @throws SQLException if a database error occurs