void (Set<BasicBlock> common_blocks, Map<Integer, BasicBlock> mapNewNodes) { for (int i = exceptions.size() - 1; i >= 0; i--) { ExceptionRangeCFG range = exceptions.get(i); List<BasicBlock> lstRange = range.getProtectedRange(); HashSet<BasicBlock> setBoth = new HashSet<>(common_blocks); setBoth.retainAll(lstRange); if (setBoth.size() > 0) { List<BasicBlock> lstNewRange; if (setBoth.size() == lstRange.size()) { lstNewRange = new ArrayList<>(); ExceptionRangeCFG newRange = new ExceptionRangeCFG(lstNewRange, mapNewNodes.get(range.getHandler().id), range.getExceptionTypes()); exceptions.add(newRange); } else { lstNewRange = lstRange; } for (BasicBlock block : setBoth) { lstNewRange.add(mapNewNodes.get(block.id)); } } } }