private String computeRepeatingSql(String repeatingSql, int requiredRepetitions) {
		assert requiredRepetitions > 0 : "requiredRepetitions must be > 0";

		final String startSql = selectClause;

		final String endSql = orderByClause;

		StringBuilder sqlStringBldr = new StringBuilder(startSql.length()
				+ endSql.length() + requiredRepetitions * (repeatingSql.length() + 4));
		sqlStringBldr.append(startSql);

		for (int i = 1; i <= requiredRepetitions; i++) {
			sqlStringBldr.append(repeatingSql);

			if (i != requiredRepetitions) {
				sqlStringBldr.append(" or ");
			}
		}

		sqlStringBldr.append(endSql);

		return sqlStringBldr.toString();
	}