void (final @Nullable PsiElement block) { if (block == null) return; block.accept(new JavaRecursiveElementWalkingVisitor() { @Override public void visitCallExpression(@NotNull PsiCallExpression callExpression) { final List<PsiClassType> exceptions = ExceptionUtil.getUnhandledExceptions(callExpression, block); for (PsiClassType exception : exceptions) { addExceptionInducer(exception, callExpression); } } @Override public void visitThrowStatement(@NotNull PsiThrowStatement statement) { final PsiExpression exception = statement.getException(); if (exception == null) return; final PsiType type = exception.getType(); if (type == null) return; addExceptionInducer(type, statement); } }); }