Expression initializer;
	private void removeVariableReferences(ASTRewrite rewrite, SimpleName reference) {		int nameParentType= reference.getParent().getNodeType();		if (nameParentType == ASTNode.ASSIGNMENT) {			Assignment assignment= (Assignment) reference.getParent();			Expression rightHand= assignment.getRightHandSide();						ASTNode parent= assignment.getParent();			if (parent instanceof ExpressionStatement) {				removeVariableWithInitializer(rewrite, rightHand, parent);			}	else {				rewrite.markAsReplaced(assignment, rewrite.createCopy(rightHand));			}		} else if (nameParentType == ASTNode.SINGLE_VARIABLE_DECLARATION) {			rewrite.markAsRemoved(reference.getParent());		} else if (nameParentType == ASTNode.VARIABLE_DECLARATION_FRAGMENT) {			VariableDeclarationFragment frag= (VariableDeclarationFragment) reference.getParent();			ASTNode varDecl= frag.getParent();			List fragments;			Expression initializer;			if (varDecl instanceof VariableDeclarationExpression) {				fragments= ((VariableDeclarationExpression) varDecl).fragments();				initializer= null; // can't preserve the initializer: remove it			} else if (varDecl instanceof FieldDeclaration) {				fragments= ((FieldDeclaration) varDecl).fragments();				initializer= null; // can't preserve the initializer: remove it			} else {					fragments= ((VariableDeclarationStatement) varDecl).fragments();				initializer= frag.getInitializer();			}			if (fragments.size() == 1) {				if (initializer == null) {					rewrite.markAsRemoved(varDecl);				} else {					removeVariableWithInitializer(rewrite, initializer, varDecl);				}			} else {				rewrite.markAsRemoved(frag); // don't try to preserve			}		}	}