@Override
      public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
        super.visitThrowStatement(statement);
        List<PsiClassType> actualTypes = ExceptionUtil.getUnhandledExceptions(statement, place);
        for (PsiClassType actualType : actualTypes) {
          if (actualType != null && type.isAssignableFrom(actualType) && myTypeFilter.test(actualType)) {
            PsiExpression psiExpression = statement.getException();
            if (psiExpression instanceof PsiReferenceExpression) {
              addUsage(psiExpression);
            }
            else if (psiExpression instanceof PsiNewExpression) {
              PsiJavaCodeReferenceElement ref = ((PsiNewExpression)psiExpression).getClassReference();
              if (ref != null) {
                addUsage(ref);
              }
            }
            else {
              PsiExpression exception = statement.getException();
              if (exception != null) {
                addUsage(exception);
              }
            }
          }
        }
      }
@Override
      public void visitThrowStatement(@NotNull PsiThrowStatement statement)