public void collect() {
   if (!Phase.isPhaseStackEmpty()) {
     Phase.continuePhaseStack();
   } else {
     Phase.beginNewPhaseStack(Phase.scheduleComplex(global().collection));
   }
 }
 /**
  * Insert a phase.
  *
  * @param markerScheduledPhase The scheduled phase to insert after
  * @param scheduledPhase The scheduled phase to insert
  */
 @Interruptible
 public void insertPhaseAfter(int markerScheduledPhase, int scheduledPhase) {
   short tempPhase = Phase.createComplex("auto-gen", null, markerScheduledPhase, scheduledPhase);
   replacePhase(markerScheduledPhase, Phase.scheduleComplex(tempPhase));
 }