@Override public List<DecompilerBasicBlock> getAllBasicBlocks() { List<DecompilerBasicBlock> blocks = new ArrayList<>(); blocks.add(head); for (DecompilerBlock b : thenBranch) { blocks.addAll(b.getAllBasicBlocks()); } for (DecompilerBlock b : elseBranch) { blocks.addAll(b.getAllBasicBlocks()); } return blocks; }