@Override
    String createReplacement(CommentTracker ct) {
      String lambda;
      if (myOpType != null) {
        PsiElementFactory factory = JavaPsiFacade.getElementFactory(myVariable.getProject());
        PsiExpression expression = myUnaryExpression == null ? myExpression : factory.createExpressionFromText("1", null);
        String expressionText = ParenthesesUtils.getText(ct.markUnchanged(expression), ParenthesesUtils.getPrecedenceForOperator(myOpType));
        String lambdaBody = myVariable.getName() + getOperationSign(myOpType) + expressionText;
        if (!myVariable.getType().equals(expression.getType())) {
          lambdaBody = ("(" + myVariable.getType().getCanonicalText() + ")") + "(" + lambdaBody + ")";
        }
        lambda = myVariable.getName() + "->" + lambdaBody;
      }
      else {
        lambda = ct.lambdaText(myVariable, myExpression);
      }
      String maybeCondition = myCondition != null ? ct.lambdaText(myVariable, myCondition) + "," : "";

      return StreamApiUtil.getStreamClassForType(myVariable.getType()) + ".iterate(" + ct.text(myInitializer) + "," + maybeCondition + lambda + ")";
    }
@Override
    String createReplacement(CommentTracker ct)