@Override
    public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression arrayInitializer) {
      super.visitArrayInitializerExpression(arrayInitializer);
      if (IGNORE_UNCHECKED_ASSIGNMENT) return;
      if (!(arrayInitializer.getType() instanceof PsiArrayType arrayType)) return;
      final PsiType componentType = arrayType.getComponentType();

      boolean arrayTypeFixChecked = false;
      VariableArrayTypeFix fix = null;

      final PsiExpression[] initializers = arrayInitializer.getInitializers();
      for (PsiExpression expression : initializers) {
        final PsiType itemType = expression.getType();

        if (itemType == null) continue;
        if (!TypeConversionUtil.isAssignable(componentType, itemType)) continue;
        if (JavaGenericsUtil.isRawToGeneric(componentType, itemType)) {
          String description = JavaErrorBundle.message("generics.unchecked.assignment",
                                                       itemType.getCanonicalText(),
                                                       componentType.getCanonicalText());
          if (!arrayTypeFixChecked) {
            final PsiType checkResult = JavaHighlightUtil.sameType(initializers);
            fix = checkResult != null ? VariableArrayTypeFix.createFix(arrayInitializer, checkResult) : null;
            arrayTypeFixChecked = true;
          }

          if (fix != null) {
            registerProblem(description, null, expression, new LocalQuickFix[]{LocalQuickFix.from(fix)});
          }
        }
      }
    }
@Override
    public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression arrayInitializer)