switch (op) {
case NONE:
List<QueryNode> children = new ArrayList<QueryNode>();
children.add(q1.cloneTree());
children.add(q2.cloneTree());
result = new AndQueryNode(children);
return result;
case Q1:
result = q1.cloneTree();
result.add(q2.cloneTree());
return result;