@Override
      public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
        SimplifyForEachContext context = SimplifyForEachContext.from(call);
        if (context == null) return;
        boolean opCountChanged = context.myTerminalBlock.getOperationCount() > 1;
        boolean lastOpChanged = !(context.myMigration instanceof ForEachMigration);
        if (opCountChanged || lastOpChanged) {
            String customMessage = lastOpChanged ?
                                   CommonQuickFixBundle.message("fix.replace.with.x", context.myMigration.getReplacement() + "()") :
                                   JavaBundle.message("inspection.simplify.for.each.extract.intermediate.operations");
          ProblemHighlightType highlightType = ProblemHighlightType.GENERIC_ERROR_OR_WARNING;
          holder.registerProblem(context.myMainStatement, customMessage, highlightType, getRange(call).shiftRight(-call.getTextOffset()),
                                 new SimplifyForEachFix(customMessage));
        }
      }
@Override
      public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call)