@Override
 public void visit(Query obj) {
   preVisitVisitor(obj);
   visitNodes(obj.getWith());
   visitNode(obj.getSelect());
   visitNode(obj.getInto());
   visitNode(obj.getFrom());
   visitNode(obj.getCriteria());
   visitNode(obj.getGroupBy());
   visitNode(obj.getHaving());
   visitNode(obj.getOrderBy());
   visitNode(obj.getLimit());
   visitNode(obj.getOption());
   postVisitVisitor(obj);
 }