Tree tb = code_body_NEW();
Tree tb = code_body();
    Tree[] getTrace() {                 initializeSyms();        //Tree tb = code_body();        Tree tb = code_body_NEW();        Tree theDefDef = gen.DefDef( this.funSym,                                      tb );                Vector v = new Vector();                        //                                   // `def leftTracer(...) = ...'                 the function definition        v.add( theDefDef );                Tree emptyAcc    = gen.mkNil( cf.pos ); //cf._seqTraceNil( elementType );                // the valdef is needed, because passing emptyAcc as a parameter        //   results in a ClassCastException at runtime (?!)                Symbol emptyAccSym = new TermSymbol( pos,                                             cf.fresh.newName("acc"),                                             owner,                                             0 )            .setType( accumType ) ;                // `val acc = SeqNil[ elementType ]'                 init accumulator        v.add( gen.ValDef( emptyAccSym, emptyAcc) );                 Tree run = callFun( new Tree[] {            gen.Ident( pos, emptyAccSym ),            cf.newIterator( selector, selector.getType() ),             gen.mkIntLit( cf.pos, 0 )  });                                        run = gen.ValDef( resultSym, run );        v.add( run );         Tree res[] = new Tree[ v.size() ];        int j = 0;        for( Iterator it = v.iterator(); it.hasNext(); )            res[ j++ ] = (Tree) it.next();        return res;    }