@Override
      protected void registerProblem(@NotNull @InspectionMessage String message,
                                     @Nullable PsiElement callExpression,
                                     @NotNull PsiElement psiElement,
                                     @NotNull LocalQuickFix @NotNull [] quickFixes) {
        final String rawExpression = isMethodCalledOnRawType(callExpression);
        if (rawExpression != null) {
          final String referenceName = ((PsiMethodCallExpression)callExpression).getMethodExpression().getReferenceName();
          message += JavaBundle.message("unchecked.warning.inspection.reason.expr.has.raw.type.so.result.erased", rawExpression, referenceName);
        }

        PsiElement element2Highlight = null;
        if (psiElement instanceof PsiNewExpression) {
          element2Highlight = ((PsiNewExpression)psiElement).getClassOrAnonymousClassReference();
        }
        else if (psiElement instanceof PsiMethodCallExpression) {
          element2Highlight = ((PsiMethodCallExpression)psiElement).getMethodExpression();
        }

        holder.registerProblem(ObjectUtils.notNull(element2Highlight, psiElement), message, quickFixes);
      }
@Override
      protected void registerProblem(@NotNull @InspectionMessage String message,
                                     @Nullable PsiElement callExpression,
                                     @NotNull PsiElement psiElement,
                                     @NotNull LocalQuickFix @NotNull [] quickFixes)