if (token.getChildCount() == 1)
return (SupportsCondition) switchOn(children.next());
SupportsLogicalCondition result = new SupportsLogicalCondition(token, (SupportsCondition) switchOn(children.next()));
while (children.hasNext()) {
SupportsLogicalOperator logicalOperator = toSupportsLogicalOperator(children.next());
if (!children.hasNext())
throw new BugHappened(GRAMMAR_MISMATCH, token);
SupportsCondition condition = (SupportsCondition) switchOn(children.next());
result.addCondition(logicalOperator, condition);
}