@Override
    public void visitCallExpression(@NotNull PsiCallExpression expression) {
      super.visitCallExpression(expression);
      if (!warnOnAllExceptions) {
        return;
      }
      final List<PsiClassType> exceptions = ExceptionUtil.getThrownExceptions(expression);
      if (exceptions.isEmpty()) {
        return;
      }
      for (PsiClassType exception : exceptions) {
        final PsiCodeBlock finallyBlock = getContainingFinallyBlock(expression, exception);
        if (finallyBlock != null && isHidingOfPreviousException(finallyBlock, expression)) {
          if (expression instanceof PsiMethodCallExpression) {
            registerMethodCallError((PsiMethodCallExpression)expression, exception);
          }
          else if (expression instanceof PsiNewExpression) {
            registerNewExpressionError((PsiNewExpression)expression, exception);
          }
          return;
        }
      }
    }
@Override
    public void visitCallExpression(@NotNull PsiCallExpression expression)