@Override protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException { if (node instanceof AqpANTLRNode && ((AqpANTLRNode) node).getTokenLabel().equals("TMODIFIER")) { List<QueryNode> children = node.getChildren(); if (children.size() == 1) { return children.get(0); } QueryNode masterChild = null; QueryNode currentChild; List<QueryNode> currentChildren; for (int i = 0; i < children.size(); i++) { currentChild = children.get(i); if (currentChild.isLeaf()) { continue; } if (masterChild == null) { masterChild = currentChild; node = masterChild; continue; } currentChildren = masterChild.getChildren(); currentChildren.add(currentChild); masterChild.set(currentChildren); masterChild = children.get(i); } return node; } return node; }