code: private void doPreemption() {
      long now = ClusterManager.clock.getTime();
      if (now - lastPreemptionTime > PREEMPTION_PERIOD) {
        lastPreemptionTime = now;
        doPreemptionNow();
      }
    }
docs: Performs preemption if it has been long enough since the last round.