void (@NotNull PsiClassType unhandledException, @NotNull PsiElement throwingElement) { final List<PsiElement> catchBlocks = findThrowToBlocks(unhandledException); for (PsiElement block : catchBlocks) { ProgressManager.checkCanceled(); ConditionalThrowToInstruction instruction = new ConditionalThrowToInstruction(0); myCurrentFlow.addInstruction(instruction); if (!patchCheckedThrowInstructionIfInsideFinally(instruction, throwingElement, block)) { if (block == null) { addElementOffsetLater(myCodeFragment, false); } else { instruction.offset--; // -1 for catch block param init addElementOffsetLater(block, true); } } } }