if (phaseId == PREPARE) { lastGCWasTracing = traceInducedGC; }
  public void collectionPhase(int phaseId) {    if (phaseId == RELEASE) {      if (traceInducedGC) {        /* Clean up following a trace-induced scan */        progress = true;        deathScan = false;      } else {        /* Finish the collection by calculating the unreachable times */        deathScan = true;        TraceGenerator.postCollection();        deathScan = false;        /* Perform the semispace collections. */        super.collectionPhase(phaseId);      }    } else if (!traceInducedGC ||               (phaseId == INITIATE) ||               (phaseId == ROOTS) ||               (phaseId == COMPLETE)) {      /* Performing normal GC; sponge off of parent's work. */      super.collectionPhase(phaseId);    }  }