docs: public AST process(AST t) {
          // first visit
          List l = new ArrayList();
          traverse((GroovySourceAST)t,l,null);
  
          //System.out.println("l:" + l);
          // second visit
          Iterator itr = l.iterator();
          if (itr.hasNext()) { itr.next(); /* discard first */ }
          traverse((GroovySourceAST)t,null,itr);
          return t;
      }