if (binding != null && isSideEffectFree(name, compilationUnit)) {
if (binding != null && !isFormalParameterInEnhancedForStatement(name) && isSideEffectFree(name, compilationUnit)) {
	public static IFix createCleanUp(CompilationUnit compilationUnit, 			boolean removeUnusedPrivateMethods, 			boolean removeUnusedPrivateConstructors, 			boolean removeUnusedPrivateFields, 			boolean removeUnusedPrivateTypes, 			boolean removeUnusedLocalVariables, 			boolean removeUnusedImports) {		List/*<IFixRewriteOperation>*/ result= new ArrayList();		IProblem[] problems= compilationUnit.getProblems();		for (int i= 0; i < problems.length; i++) {			IProblemLocation problem= getProblemLocation(problems[i]);			int id= problem.getProblemId();						if (removeUnusedImports && id == IProblem.UnusedImport) {				ImportDeclaration node= UnusedCodeFix.getImportDeclaration(problem, compilationUnit);				if (node != null) {					result.add(new RemoveImportOperation(node));				}			}			if ((removeUnusedPrivateMethods && id == IProblem.UnusedPrivateMethod) || (removeUnusedPrivateConstructors && id == IProblem.UnusedPrivateConstructor) ||			    (removeUnusedPrivateTypes && id == IProblem.UnusedPrivateType)) {								SimpleName name= getUnusedName(compilationUnit, problem);				if (name != null) {					IBinding binding= name.resolveBinding();					if (binding != null) {						result.add(new RemoveUnusedMemberOperation(name));					}				}			}						if ((removeUnusedLocalVariables && id == IProblem.LocalVariableIsNeverUsed) ||  (removeUnusedPrivateFields && id == IProblem.UnusedPrivateField)) {				SimpleName name= getUnusedName(compilationUnit, problem);				if (name != null) {					IBinding binding= name.resolveBinding();					if (binding != null && isSideEffectFree(name, compilationUnit)) {						result.add(new RemoveUnusedMemberOperation(name));					}				}			}		}				if (result.size() == 0)			return null;				return new UnusedCodeFix("", compilationUnit, (IFixRewriteOperation[])result.toArray(new IFixRewriteOperation[result.size()])); //$NON-NLS-1$	}