labelList.add(new GenericPair<Object, Boolean>(" )", false));
    public List<GenericPair<Object, Boolean>> getLabel() {        if (getCompositeRuleType().equals(LogicOperators.NOT)) {            return getCurricularRules().get(0).getLabel();        } else {            final String operator;            if (getCompositeRuleType().equals(LogicOperators.AND)) {                operator = "label.and";            } else if (getCompositeRuleType().equals(LogicOperators.OR)) {                operator = "label.or";            } else {                throw new DomainException("unsupported.composite.rule");            }            final List<GenericPair<Object, Boolean>> labelList = new ArrayList<GenericPair<Object, Boolean>>();            final Iterator<CurricularRule> curricularRulesIterator = getCurricularRules().listIterator();            while (curricularRulesIterator.hasNext()) {                labelList.addAll(curricularRulesIterator.next().getLabel());                if (curricularRulesIterator.hasNext()) {                    labelList.add(new GenericPair<Object, Boolean>(" ", false));                    labelList.add(new GenericPair<Object, Boolean>(operator, true));                    labelList.add(new GenericPair<Object, Boolean>(" ", false));                }            }            return labelList;        }    }