PsiTryStatement (@Nullable PsiElement startElement, @NotNull PsiElement enclosingCodeFragment) { for (PsiElement element = startElement; element != null && element != enclosingCodeFragment; element = element.getParent()) { if (element instanceof PsiCodeBlock) { final PsiElement parent = element.getParent(); if (parent instanceof PsiTryStatement) { final PsiTryStatement tryStatement = (PsiTryStatement)parent; if (tryStatement.getTryBlock() == element && (tryStatement.getFinallyBlock() != null || tryStatement.getCatchBlocks().length != 0)) { return tryStatement; } } } } return null; }