### Question:
ConditionalRuleGroup extends CompositeRule { @Override public boolean evaluate(Facts facts) { successfulEvaluations = new HashSet<>(); conditionalRule = getRuleWithHighestPriority(); if (conditionalRule.evaluate(facts)) { for (Rule rule : rules) { if (rule != conditionalRule && rule.evaluate(facts)) { successfulEvaluations.add(rule); } } return true; } return false; } ConditionalRuleGroup();  ConditionalRuleGroup(String name);  ConditionalRuleGroup(String name, String description);  ConditionalRuleGroup(String name, String description, int priority); @Override boolean evaluate(Facts facts); @Override void execute(Facts facts);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void twoRulesWithSameHighestPriorityIsNotAllowed() { conditionalRuleGroup.addRule(new MyOtherRule(0)); conditionalRuleGroup.addRule(new MyOtherRule(1)); conditionalRuleGroup.addRule(new MyRule()); conditionalRuleGroup.evaluate(facts); }