docs: public T queryForFirst(DatabaseConnection databaseConnection, PreparedStmt<T> preparedStmt, ObjectCache objectCache)
  			throws SQLException {
  		CompiledStatement compiledStatement = preparedStmt.compile(databaseConnection, StatementType.SELECT);
  		DatabaseResults results = null;
  		try {
  			compiledStatement.setMaxRows(1);
  			results = compiledStatement.runQuery(objectCache);
  			if (results.first()) {
  				logger.debug("query-for-first of '{}' returned at least 1 result", preparedStmt.getStatement());
  				return preparedStmt.mapRow(results);
  			} else {
  				logger.debug("query-for-first of '{}' returned 0 results", preparedStmt.getStatement());
  				return null;
  			}
  		} finally {
  			IOUtils.closeThrowSqlException(results, "results");
  			IOUtils.closeThrowSqlException(compiledStatement, "compiled statement");
  		}
  	}