'Retrieve a pending job.
:return: A CFGJob instance or None'

def _get_one_pending_job(self):

    pending_job_key = self._pending_jobs.keys()[0]
    pending_job = self._pending_jobs.pop(pending_job_key)
    pending_job_state = pending_job.state
    pending_job_call_stack = pending_job.call_stack
    pending_job_src_block_id = pending_job.src_block_id
    pending_job_src_exit_stmt_idx = pending_job.src_exit_stmt_idx
    self._deregister_analysis_job(pending_job.caller_func_addr, pending_job)
    if (pending_job_key in self._nodes):
        node = self._nodes[pending_job_key]
        if (node in self.graph):
            pending_exit_addr = self._block_id_addr(pending_job_key)
            l.debug(('Target    0x%08x    has    been    traced    before.    ' + 'Trying    the    next    one...'), pending_exit_addr)
            self._graph_add_edge(pending_job_src_block_id, pending_job_key, jumpkind='Ijk_FakeRet', stmt_idx=pending_job_src_exit_stmt_idx, ins_addr=pending_job.src_exit_ins_addr)
            return None
    pending_job_state.history.jumpkind = 'Ijk_FakeRet'
    job = CFGJob(pending_job_state.addr, pending_job_state, self._context_sensitivity_level, src_block_id=pending_job_src_block_id, src_exit_stmt_idx=pending_job_src_exit_stmt_idx, src_ins_addr=pending_job.src_exit_ins_addr, call_stack=pending_job_call_stack)
    l.debug('Tracing    a    missing    return    exit    %s', self._block_id_repr(pending_job_key))
    return job
