code: private void reorderJobs(JobInProgress job, JobSchedulingInfo oldInfo, 
                             QueueInfo qi) {
      
      if(qi.removeWaitingJob(oldInfo) != null) {
        qi.addWaitingJob(job);
      }
      if(qi.removeRunningJob(oldInfo) != null) {
        qi.addRunningJob(job);
      }
    }
docs: because of the change in the job priority or job start-time.