boolean (@NotNull PsiTryStatement tryStatement, @Nullable PsiMethod method) { final PsiCodeBlock finallyBlock = tryStatement.getFinallyBlock(); if (finallyBlock != null) { if (!codeBlockMayCompleteNormally(finallyBlock, method)) { return false; } } final PsiCodeBlock tryBlock = tryStatement.getTryBlock(); if (codeBlockMayCompleteNormally(tryBlock, method)) { return true; } final PsiCodeBlock[] catchBlocks = tryStatement.getCatchBlocks(); for (final PsiCodeBlock catchBlock : catchBlocks) { if (codeBlockMayCompleteNormally(catchBlock, method)) { return true; } } return false; }