makeJavaType(typeFact().getObjectDeclaration().getType()), List.<JCTree.JCTypeParameter>nil(),
List.<JCTree.JCVariableDecl>nil(), List.<JCExpression>nil(), make().Block(0, List.<JCStatement>of(
make().Return(
make().Conditional(
make().Binary(JCTree.EQ, make().Apply(null, make().Select(makeUnquotedIdent("this"),
<BUG>names().fromString(prevItemVar)), List.<JCExpression>nil()), makeBoolean(true)),
</BUG>
transformExpression(excc.getExpression(), BoxingStrategy.BOXED, typeFact().getIteratedType(targetIterType)),
makeFinished()))
)), null));

makeJavaType(typeFact().getObjectDeclaration().getType()), List.<JCTree.JCTypeParameter>nil(),
List.<JCTree.JCVariableDecl>nil(), List.<JCExpression>nil(), make().Block(0, List.<JCStatement>of(
make().Return(
make().Conditional(
make().Binary(JCTree.EQ, make().Apply(null, make().Select(makeUnquotedIdent("this"),
names().fromString(ctxtName)), List.<JCExpression>nil()), makeBoolean(true)),
transformExpression(excc.getExpression(), BoxingStrategy.BOXED, typeFact().getIteratedType(targetIterType)),
makeFinished()))
)), null));
