code: synchronized Collection<NotAdmittedJobInfo> getNotAdmittedJobs() {
       List<NotAdmittedJobInfo> jobInfoList =
           new ArrayList<NotAdmittedJobInfo>(infos.size());
       AdmissionControlData admissionControlData =
           jobInitializer.getAdmissionControlData();
       float averageWaitMsecsPerHardAdmissionJob =
           jobInitializer.getAverageWaitMsecsPerHardAdmissionJob();
  
       for (Map.Entry<JobInProgress, JobInfo> entry : infos.entrySet()) {
         JobInProgress job = entry.getKey();
         JobInfo jobInfo = entry.getValue();
         if (!jobInfo.needsInitializing) {
           continue;
         }
  
         String poolName = poolMgr.getPoolName(job);
         // Adjust the not admitted reason with admission control data for
         // any soft or hard limits
         BlockedAdmissionReason reason = adjustClusterwideReason(
             admissionControlData, jobInfo.reason, poolName);
         jobInfoList.add(new NotAdmittedJobInfo(
             job.getStartTime(), job.getJobID().toString(),
             job.getJobConf().getUser(), poolName,
             job.getPriority().toString(), reason,
             jobInfo.reasonLimit, jobInfo.actualValue,
             jobInfo.hardAdmissionPosition,
             averageWaitMsecsPerHardAdmissionJob));
       }
       return jobInfoList;
    }
docs: Get the jobs that were not admitted and all the info needed for
  display.  The reasons of why the jobs were not admitted were set by
  the fair scheduler, but will be adjusted when this method is called
  based on the current job initializer admission control data.
  
  @return Collection of jobs that were not admitted and their reasons.