clearPositionGroups();
	public ITrackedNodePosition rewriteAST(CompilationUnitRewrite cuRewrite, List textEditGroups, List positionGroups) throws CoreException {		TextEditGroup group= createTextEditGroup(FixMessages.Java50Fix_ConvertToEnhancedForLoop_description);		textEditGroups.add(group);		clearPositionGroups();		ASTRewrite rewrite= cuRewrite.getASTRewrite();		ImportRewrite importRewrite= cuRewrite.getImportRewrite();		doInferCollection();		doInferElement(importRewrite);		doFindAndReplaceInBody(rewrite, group);		AST ast= fOldForStatement.getAST();		fEnhancedForStatement= ast.newEnhancedForStatement();		if (fAddBlock && !(fOldForStatement.getBody() instanceof Block)) {			Block newBody= ast.newBlock();			ListRewrite listRewrite= rewrite.getListRewrite(newBody, Block.STATEMENTS_PROPERTY);			listRewrite.insertFirst(createBodyStatement(cuRewrite, textEditGroups), group);			fEnhancedForStatement.setBody(newBody);		} else if (fRemoveUnnecessaryBlocks && fOldForStatement.getBody() instanceof Block && ((Block)fOldForStatement.getBody()).statements().size() == 1) {						fEnhancedForStatement.setBody(createBodyStatement(cuRewrite, textEditGroups));		} else {			Statement theBody= (Statement)rewrite.createMoveTarget(fOldForStatement.getBody());			fEnhancedForStatement.setBody(theBody);		}		fEnhancedForStatement.setExpression(createExpression(rewrite, ast));		fEnhancedForStatement.setParameter(fParameterDeclaration);		PositionGroup pg= getPositionGroup(fParameterName);		pg.addFirstPosition(rewrite.track(fParameterDeclaration.getName()));		String name= fParameterDeclaration.getName().getIdentifier();		List proposals= getProposalsForElement();		if (!proposals.contains(name))			proposals.add(0, name);		for (Iterator iterator= proposals.iterator(); iterator.hasNext();)			pg.addProposal((String) iterator.next(), null);		if (!fPassive)			rewrite.replace(fOldForStatement, fEnhancedForStatement, group);				positionGroups.addAll(getAllPositionGroups());		return null;	}