@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
      PsiMethodCallExpression call = PsiTreeUtil.getParentOfType(element, PsiMethodCallExpression.class);
      if (call == null) return;
      CommentTracker ct = new CommentTracker();
      PsiExpression[] expressions = call.getArgumentList().getExpressions();
      if (expressions.length > 0) {
        ct.delete(expressions[0]);
      }
      ExpressionUtils.bindCallTo(call, myName);
      PsiMethodCallExpression qualifier = MethodCallUtils.getQualifierMethodCall(call);
      if (qualifier != null && InheritanceUtil.isInheritor(qualifier.getType(), CommonClassNames.JAVA_UTIL_ITERATOR)) {
        PsiExpression collection = qualifier.getMethodExpression().getQualifierExpression();
        if (collection != null) {
          ct.replace(qualifier, collection);
        }
      }
      ct.insertCommentsBefore(call);
    }
@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater)