in core/src/main/java/org/apache/jsieve/SieveParserVisitorImpl.java [121:145]
public Object visit(ASTarguments node, Object data) throws SieveException {
List children = new ArrayList(node.jjtGetNumChildren());
children = ((List) node.childrenAccept(this, children));
// Extract Tests and TestList from the children
Iterator childrenIter = children.iterator();
TestList testList = null;
List<Argument> argList = new ArrayList<Argument>(children.size());
while (childrenIter.hasNext()) {
Object next = childrenIter.next();
if (next instanceof Test)
testList = new TestList((Test) next);
else if (next instanceof TestList)
testList = (TestList) next;
else if (next instanceof Argument) {
argList.add((Argument)next);
} else {
LOGGER.error("Expected an 'Argument' but was {}", next);
}
}
Arguments arguments = new Arguments(argList, testList);
((List) data).add(arguments);
return data;
}