markAsLinked(rewrite, newStub.getName(), false, KEY_NAME);
addLinkedPosition(rewrite.track(newStub.getName()), false, KEY_NAME);
	protected ASTRewrite getRewrite() throws CoreException {				CompilationUnit astRoot= ASTResolving.findParentCompilationUnit(fNode);		ASTNode typeDecl= astRoot.findDeclaringNode(fSenderBinding);		ASTNode newTypeDecl= null;		boolean isInDifferentCU;		if (typeDecl != null) {			isInDifferentCU= false;			newTypeDecl= typeDecl;		} else {			isInDifferentCU= true;			ASTParser astParser= ASTParser.newParser(AST.LEVEL_2_0);			astParser.setSource(getCompilationUnit());			astParser.setResolveBindings(true);			astRoot= (CompilationUnit) astParser.createAST(null);			newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey());		}		if (newTypeDecl != null) {			ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());						ChildListPropertyDescriptor property= fSenderBinding.isAnonymous() ? AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY : TypeDeclaration.BODY_DECLARATIONS_PROPERTY;			List members= (List) newTypeDecl.getStructuralProperty(property);						MethodDeclaration newStub= getStub(rewrite, newTypeDecl);						int insertIndex;			if (isConstructor()) {				insertIndex= findConstructorInsertIndex(members);			} else if (!isInDifferentCU) {				insertIndex= findMethodInsertIndex(members, fNode.getStartPosition());			} else {				insertIndex= members.size();			}			ListRewrite listRewriter= rewrite.getListRewrite(newTypeDecl, property);			listRewriter.insertAt(newStub, insertIndex, null);			if (!isInDifferentCU) {				Name invocationName= getInvocationName();				if (invocationName != null) {					markAsLinked(rewrite, invocationName, true, KEY_NAME);				}							}			markAsLinked(rewrite, newStub.getName(), false, KEY_NAME);			if (!newStub.isConstructor()) {				markAsLinked(rewrite, newStub.getReturnType(), false, KEY_TYPE);			}									return rewrite;		}		return null;	}