Source:
<code>private void execute(MethodTree tree) { CFG cfg = CFG.build(tree); <START> exitBlock = cfg.reversedBlocks().get(0); <END> checkerDispatcher.init(tree, cfg); liveVariables = LiveVariables.analyze(cfg); explodedGraph = new ExplodedGraph(); methodTree = tree; constraintManager = new ConstraintManager(); workList = new LinkedList<>(); endOfExecutionPath = new LinkedHashSet<>(); if(DEBUG_MODE_ACTIVATED) { LOG.debug("Exploring Exploded Graph for method " + tree.simpleName().name() + " at line " + ((JavaTree) tree).getLine()); } programState = ProgramState.EMPTY_STATE; steps = 0; for (ProgramState startingState : startingStates(tree, programState)) { enqueue(new ProgramPoint(cfg.entry()), startingState); } while (!workList.isEmpty()) { steps++; if (steps > MAX_STEPS) { throwMaxSteps(tree); } setNode(workList.removeFirst()); if (programPosition.block.successors().isEmpty()) { endOfExecutionPath.add(node); continue; } try { if (programPosition.i < programPosition.block.elements().size()) { visit(programPosition.block.elements().get(programPosition.i), programPosition.block.terminator()); } else if (programPosition.block.terminator() == null) { handleBlockExit(programPosition); } else if (programPosition.i == programPosition.block.elements().size()) { checkerDispatcher.executeCheckPostStatement(programPosition.block.terminator()); } else { checkerDispatcher.executeCheckPreStatement(programPosition.block.terminator()); handleBlockExit(programPosition); } } catch (TooManyNestedBooleanStatesException e) { throwTooManyBooleanStates(tree, e); } } handleEndOfExecutionPath(false); checkerDispatcher.executeCheckEndOfExecution(); workList = null; node = null; programState = null; constraintManager = null; }</code><technical_language>This encapsulated in CFG</technical_language>

Target:
private void execute(MethodTree tree) { CFG cfg = CFG.build(tree); exitBlock = cfg.exitBlock(); checkerDispatcher.init(tree, cfg); liveVariables = LiveVariables.analyze(cfg); explodedGraph = new ExplodedGraph(); methodTree = tree; constraintManager = new ConstraintManager(); workList = new LinkedList<>(); endOfExecutionPath = new LinkedHashSet<>(); if(DEBUG_MODE_ACTIVATED) { LOG.debug("Exploring Exploded Graph for method " + tree.simpleName().name() + " at line " + ((JavaTree) tree).getLine()); } programState = ProgramState.EMPTY_STATE; steps = 0; for (ProgramState startingState : startingStates(tree, programState)) { enqueue(new ProgramPoint(cfg.entry()), startingState); } while (!workList.isEmpty()) { steps++; if (steps > MAX_STEPS) { throwMaxSteps(tree); } setNode(workList.removeFirst()); if (programPosition.block.successors().isEmpty()) { endOfExecutionPath.add(node); continue; } try { if (programPosition.i < programPosition.block.elements().size()) { visit(programPosition.block.elements().get(programPosition.i), programPosition.block.terminator()); } else if (programPosition.block.terminator() == null) { handleBlockExit(programPosition); } else if (programPosition.i == programPosition.block.elements().size()) { checkerDispatcher.executeCheckPostStatement(programPosition.block.terminator()); } else { checkerDispatcher.executeCheckPreStatement(programPosition.block.terminator()); handleBlockExit(programPosition); } } catch (TooManyNestedBooleanStatesException e) { throwTooManyBooleanStates(tree, e); } } handleEndOfExecutionPath(false); checkerDispatcher.executeCheckEndOfExecution(); workList = null; node = null; programState = null; constraintManager = null; }