public boolean doesMatch(RuleEvaluation e) {
        //if (e.currentItem()==null) return false;
        for (Iterator<Condition> i=conditionIterator(); i.hasNext(); ) {
            Condition subCondition= i.next();
            if (subCondition.matches(e))
                return true;
        }

        return false;
    }
A condition which consists of a list of alternatives to match at a specific location

@author bratseth
container-search/src/main/java/com/yahoo/prelude/semantics/rule/ChoiceCondition.java