token.pushHiddenToKids();
Iterator<HiddenTokenAwareTree> children = token.getChildren().iterator();
HiddenTokenAwareTree first = children.next();
if (first.getType() == LessLexer.LPAREN) {
SyntaxOnlyElement openingParentheses = toSyntaxOnlyElement(first);
SupportsCondition condition = (SupportsCondition) switchOn(children.next());
SyntaxOnlyElement closingParentheses = toSyntaxOnlyElement(children.next());
SupportsConditionInParentheses result = new SupportsConditionInParentheses(token, openingParentheses, condition, closingParentheses);
return result;
} else if (first.getType() == LessLexer.IDENT) {
//TODO: warning on wrong operator (anything that is not 'not')
SyntaxOnlyElement negation = toSyntaxOnlyElement(first);
SupportsCondition condition = (SupportsCondition) switchOn(children.next());
SupportsConditionNegation result = new SupportsConditionNegation(token, negation, condition);
return result;
}