void (PsiArrayInitializerExpression expression, PsiExpression parentExpression) { final PsiExpression[] initializers = expression.getInitializers(); PsiType migrationType = null; for (PsiExpression initializer : initializers) { final TypeView typeView = new TypeView(initializer); if (typeView.isChanged()) { final PsiType type = typeView.getType(); if (migrationType == null || !TypeConversionUtil.isAssignable(migrationType, type)) { if (migrationType != null && !TypeConversionUtil.isAssignable(type, migrationType)) { myLabeler.markFailedConversion(type, parentExpression); return; } migrationType = type; } } } final PsiType exprType = expression.getType(); if (migrationType != null && exprType instanceof PsiArrayType) { final boolean alreadyProcessed = TypeConversionUtil.isAssignable(((PsiArrayType)exprType).getComponentType(), migrationType); myLabeler.migrateExpressionType(parentExpression, alreadyProcessed ? exprType : migrationType.createArrayType(), expression, alreadyProcessed, true); } }