rewrite.markAsModified(varDecl, modifiedNode);
rewrite.markAsModified(varDecl, modifiedNode, groupDesc);
	protected ASTRewrite getRewrite() throws CoreException {		CompilationUnit astRoot= ASTResolving.findParentCompilationUnit(fNode);		ASTNode boundNode= astRoot.findDeclaringNode(fBinding);		ASTNode declNode= null;		if (boundNode != null) {			fIsInDifferentCU= false;			declNode= boundNode;		} else {			fIsInDifferentCU= true;			CompilationUnit newRoot= AST.parseCompilationUnit(getCompilationUnit(), true);			declNode= newRoot.findDeclaringNode(fBinding.getKey());		}		if (declNode != null) {			ASTRewrite rewrite= new ASTRewrite(declNode.getParent());			AST ast= declNode.getAST();			if (declNode instanceof MethodDeclaration) {				MethodDeclaration methodDecl= (MethodDeclaration) declNode;				int newModifiers= (methodDecl.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;								MethodDeclaration modifiedNode= ast.newMethodDeclaration();				modifiedNode.setConstructor(methodDecl.isConstructor()); // no change				modifiedNode.setExtraDimensions(methodDecl.getExtraDimensions()); // no change				modifiedNode.setModifiers(newModifiers);								rewrite.markAsModified(methodDecl, modifiedNode);			} else if (declNode instanceof VariableDeclarationFragment) {				ASTNode parent= declNode.getParent();				if (parent instanceof FieldDeclaration) {					FieldDeclaration fieldDecl= (FieldDeclaration) parent;					int newModifiers= (fieldDecl.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;										FieldDeclaration modifiedNode= ast.newFieldDeclaration(ast.newVariableDeclarationFragment());					modifiedNode.setModifiers(newModifiers);										rewrite.markAsModified(fieldDecl, modifiedNode);									} else if (parent instanceof VariableDeclarationStatement) {					VariableDeclarationStatement varDecl= (VariableDeclarationStatement) parent;					int newModifiers= (varDecl.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;										VariableDeclarationStatement modifiedNode= ast.newVariableDeclarationStatement(ast.newVariableDeclarationFragment());					modifiedNode.setModifiers(newModifiers);										rewrite.markAsModified(varDecl, modifiedNode);				} else if (parent instanceof VariableDeclarationExpression) {					VariableDeclarationExpression varDecl= (VariableDeclarationExpression) parent;					int newModifiers= (varDecl.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;										VariableDeclarationExpression modifiedNode= ast.newVariableDeclarationExpression(ast.newVariableDeclarationFragment());					modifiedNode.setModifiers(newModifiers);										rewrite.markAsModified(varDecl, modifiedNode);									}			} else if (declNode instanceof SingleVariableDeclaration) {				SingleVariableDeclaration variableDeclaration= (SingleVariableDeclaration) declNode;				int newModifiers= (variableDeclaration.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;								SingleVariableDeclaration modifiedNode= ast.newSingleVariableDeclaration();				modifiedNode.setExtraDimensions(variableDeclaration.getExtraDimensions()); // no change				modifiedNode.setModifiers(newModifiers);								rewrite.markAsModified(variableDeclaration, modifiedNode);							} else if (declNode instanceof TypeDeclaration) {				TypeDeclaration typeDecl= (TypeDeclaration) declNode;				int newModifiers= (typeDecl.getModifiers() & ~fExcludedModifiers) | fIncludedModifiers;								TypeDeclaration modifiedNode= ast.newTypeDeclaration();				modifiedNode.setInterface(typeDecl.isInterface()); // no change				modifiedNode.setModifiers(newModifiers);								rewrite.markAsModified(typeDecl, modifiedNode);							}			return rewrite;		}		return null;	}