newStats.add(instantiatorBody(clsSym, insSym));
newStats.add(instantiatorBody(clsSym, insSym, lazy)); if (lazy) { Symbol lpcSym = getLazyParentClassSym(clsSym); newStats.add(lazyParentsClass(clsSym, lpcSym)); }
        private Tree[] transformStatements(Tree[] stats) {            ArrayList newStats = new ArrayList();            int beginIdx = 0;            for (int i = 0; i < stats.length; ++i) {                Tree stat = stats[i];                switch (stat) {                case ClassDef(_, _, _, _, _, Tree.Template impl):                    Symbol clsSym = stat.symbol();                    Symbol tcSym = getTConstructorSym(clsSym);                    newStats.add(beginIdx++, tConstructorVal(clsSym, tcSym));                    Symbol insSym = getInstMethSym(clsSym);                    newStats.add(instantiatorBody(clsSym, insSym));                    break;                case AbsTypeDef(_, _, _, _):                case AliasTypeDef(_, _, _, _):                    Symbol tpSym = stat.symbol();                    Symbol insSym = getInstMethSym(tpSym);                    newStats.add(typeAccessorBody(tpSym, insSym));                    break;                }                newStats.add(transform(stat));            }            return (Tree[])newStats.toArray(new Tree[newStats.size()]);        }