if (fIsLocalChange) {
if (!fIsInDifferentCU) {
	protected ASTRewrite getRewrite() throws CoreException {		ASTRewrite rewrite;		CompilationUnit astRoot= ASTResolving.findParentCompilationUnit(fNode);		ASTNode typeDecl= astRoot.findDeclaringNode(fSenderBinding);		ASTNode newTypeDecl= null;		if (typeDecl != null) {			fIsLocalChange= true;			rewrite= new ASTRewrite(astRoot);			newTypeDecl= typeDecl;		} else {			fIsLocalChange= false;			CompilationUnit newRoot= AST.parseCompilationUnit(getCompilationUnit(), true);			rewrite= new ASTRewrite(newRoot);						newTypeDecl= newRoot.findDeclaringNode(fSenderBinding.getKey());			//ASTResolving.findTypeDeclaration(newRoot, fSenderBinding.getKey());		}		if (newTypeDecl != null) {			List methods;			if (fSenderBinding.isAnonymous()) {				methods= ((AnonymousClassDeclaration) newTypeDecl).bodyDeclarations();			} else {				methods= ((TypeDeclaration) newTypeDecl).bodyDeclarations();			}			MethodDeclaration newStub= getStub(newTypeDecl.getAST());						if (fIsLocalChange) {				methods.add(findInsertIndex(methods, fNode.getStartPosition()), newStub);			} else if (isConstructor()) {				methods.add(0, newStub);			} else {				methods.add(newStub);			}			rewrite.markAsInserted(newStub);		}				return rewrite;	}