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