void (@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)}); } } } }