}
}
@Override
public String visit(final ASTFilterConstraint node) {
final Node n = new SimpleNode(0);
final Node parent = node.jjtGetParent();
n.jjtAddChild(node, 0);
node.jjtSetParent(n);
parent.replaceChild2(node, n);
n.jjtSetParent(parent);
this.applyRules(node);
String ret = "";
final String prefix = (parent instanceof ASTOrderConditions || parent instanceof ASTHaving)? "" : "FILTER";
final String postfix = (parent instanceof ASTOrderConditions || parent instanceof ASTHaving)? "" : ".\n";
final int numberOfChildren = n.jjtGetNumChildren();
for (int i = 0; i < numberOfChildren; i++) {
final Node currentChild=n.jjtGetChild(i);
for(int j=0; j<currentChild.jjtGetNumChildren();j++){
ret += prefix + "(" + this.visitChild(currentChild, j) + ")"+postfix;
}
}
return ret;