@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater) {
      final PsiExpression argument = (PsiExpression)startElement;
      final PsiElement argumentList = PsiUtil.skipParenthesizedExprUp(argument.getParent());
      final PsiMethodCallExpression expression = (PsiMethodCallExpression)argumentList.getParent();
      final PsiReferenceExpression methodExpression = expression.getMethodExpression();
      final PsiExpression qualifier = methodExpression.getQualifierExpression();
      final PsiExpression strippedQualifier = PsiUtil.skipParenthesizedExprDown(qualifier);
      final PsiExpression strippedArgument = PsiUtil.skipParenthesizedExprDown(argument);
      if (strippedArgument == null || qualifier == null || strippedQualifier == null) {
        return;
      }
      final CommentTracker tracker = new CommentTracker();
      tracker.grabComments(qualifier);
      tracker.markUnchanged(strippedQualifier);
      tracker.grabComments(argument);
      tracker.markUnchanged(strippedArgument);
      final PsiElement newArgument = strippedQualifier.copy();
      methodExpression.setQualifierExpression(strippedArgument);
      argument.replace(newArgument);
      tracker.insertCommentsBefore(expression);
    }
@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater)