printer.beginSection(1, "Trees after phase " + currentPhase);
    public void transformUnit(Unit unit) {       	Phase oldCurrentPhase = currentPhase;        currentPhase = PHASE.ANALYZER.phase().next; // or REFCHECK.next?        while ((currentPhase.id < oldCurrentPhase.id) && (reporter.errors() == 0)) {            start();            currentPhase.apply(new Unit[] {unit}); // !!! pb with Analyzer            stop(currentPhase.descriptor.taskDescription());            if (currentPhase.descriptor.hasPrintFlag()) {                // go to next phase to print symbols with their new type                boolean next = currentPhase.next != null;                if (next) currentPhase = currentPhase.next;                currentPhase.print(this);                if (next) currentPhase = currentPhase.prev;            }            if (currentPhase.descriptor.hasGraphFlag())                currentPhase.graph(this);            if (currentPhase.descriptor.hasCheckFlag())                currentPhase.check(this);            currentPhase = currentPhase.next;        }        currentPhase = oldCurrentPhase;    }