private Job verifyAndGetJob(final JobId jobID, boolean exceptionThrow) throws IOException {
            UserGroupInformation loginUgi = null;
            Job job = null;
            try {
                loginUgi = UserGroupInformation.getLoginUser();
                job = loginUgi.doAs(new PrivilegedExceptionAction<Job>() {

                    @Override
                    public Job run() throws Exception {
                        Job job = history.getJob(jobID);
                        return job;
                    }
                });
            } catch (InterruptedException e) {
                throw new IOException(e);
            }

            if (job == null && exceptionThrow) {
                throw new IOException("Unknown Job " + jobID);
            }

            if (job != null) {
                JobACL operation = JobACL.VIEW_JOB;
                checkAccess(job, operation);
            }
            return job;
        }
This module is responsible for talking to the
JobClient (user facing).
history-server/src/main/java/net/qihoo/hbox/jobhistory/HistoryClientService.java