markAsLinked(rewrite, fragment.getInitializer(), false, KEY_INITIALIZER);
addLinkedPosition(rewrite.track(fragment.getInitializer()), false, KEY_INITIALIZER);
	private ASTRewrite doAddField(CompilationUnit astRoot) throws CoreException {		SimpleName node= fOriginalNode;		boolean isInDifferentCU= false;				ASTNode newTypeDecl= astRoot.findDeclaringNode(fSenderBinding);		if (newTypeDecl == null) {			ASTParser astParser= ASTParser.newParser(AST.LEVEL_2_0);			astParser.setSource(getCompilationUnit());			astParser.setResolveBindings(true);			astRoot= (CompilationUnit) astParser.createAST(null);			newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey());			isInDifferentCU= true;		}				if (newTypeDecl != null) {			AST ast= newTypeDecl.getAST();						ASTRewrite rewrite= new ASTRewrite(ast);			VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment();			fragment.setName(ast.newSimpleName(node.getIdentifier()));						Type type= evaluateVariableType(ast);						FieldDeclaration newDecl= ast.newFieldDeclaration(fragment);			newDecl.setType(type);									newDecl.setModifiers(evaluateFieldModifiers(newTypeDecl));			if (fSenderBinding.isInterface() || fVariableKind == CONST_FIELD) {				fragment.setInitializer(ASTNodeFactory.newDefaultExpression(ast, type, 0));			}					boolean isAnonymous= newTypeDecl.getNodeType() == ASTNode.ANONYMOUS_CLASS_DECLARATION;						ChildListPropertyDescriptor property= isAnonymous ? AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY : TypeDeclaration.BODY_DECLARATIONS_PROPERTY;			List decls= (List) newTypeDecl.getStructuralProperty(property);									int insertIndex= findFieldInsertIndex(decls, node.getStartPosition());						ListRewrite listRewriter= rewrite.getListRewrite(newTypeDecl, property);			listRewriter.insertAt(newDecl, insertIndex, null);						markAsLinked(rewrite, newDecl.getType(), false, KEY_TYPE);			if (!isInDifferentCU) {				markAsLinked(rewrite, node, true, KEY_NAME);			}			markAsLinked(rewrite, fragment.getName(), false, KEY_NAME);						if (fragment.getInitializer() != null) {				markAsLinked(rewrite, fragment.getInitializer(), false, KEY_INITIALIZER);			}			return rewrite;		}		return null;	}