String (GrVariableDeclaration variableDeclaration, StringBuilder builder, ExpressionContext expressionContext, @NotNull GrExpression tupleInitializer, PsiType iteratorType, GroovyResolveResult iteratorMethodResult) { final String iteratorName = GenerationUtil.suggestVarName(iteratorType, variableDeclaration, expressionContext); builder.append("final "); TypeWriter.writeType(builder, iteratorType, variableDeclaration); builder.append(' ').append(iteratorName).append(" = "); GenerationUtil .invokeMethodByResolveResult(tupleInitializer, iteratorMethodResult, "iterator", GrExpression.EMPTY_ARRAY, GrNamedArgument.EMPTY_ARRAY, GrClosableBlock.EMPTY_ARRAY, new ExpressionGenerator(builder, expressionContext), variableDeclaration); builder.append(";\n"); return iteratorName; }