@Override
	public List<Rule> getRandomSetOfRules(Integer requiredSetSize) {
		if (requiredSetSize > rules.size()) {
			requiredSetSize = rules.size();
		}
		List<Rule> resultSet = new ArrayList<Rule>();
		Random randomGenerator = new Random();
		while (resultSet.size() < requiredSetSize) {
			Rule newRule = rules.get(randomGenerator.nextInt(rules.size()));
			if (!resultSet.contains(newRule)) {
				resultSet.add(newRule);
			}
		}
		return resultSet;
	}