members.add(findConstructorInsertIndex(members), newStub);
insertIndex= findConstructorInsertIndex(members);
	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;			astRoot= AST.parseCompilationUnit(getCompilationUnit(), true);			newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey());		}		if (newTypeDecl != null) {			ASTRewrite rewrite= new ASTRewrite(astRoot);						List members;			if (fSenderBinding.isAnonymous()) {				members= ((AnonymousClassDeclaration) newTypeDecl).bodyDeclarations();			} else {				members= ((TypeDeclaration) newTypeDecl).bodyDeclarations();			}			MethodDeclaration newStub= getStub(rewrite, newTypeDecl);						if (isConstructor()) {				members.add(findConstructorInsertIndex(members), newStub);			} else if (!isInDifferentCU) {				members.add(findMethodInsertIndex(members, fNode.getStartPosition()), newStub);			} else {				members.add(newStub);			}			rewrite.markAsInserted(newStub);			if (!isInDifferentCU) {				Name invocationName= getInvocationName();				if (invocationName != null) {					markAsLinked(rewrite, invocationName, true, KEY_NAME);				}							}			markAsLinked(rewrite, newStub.getName(), false, KEY_NAME);  //$NON-NLS-1$			if (!newStub.isConstructor()) {				markAsLinked(rewrite, newStub.getReturnType(), false, KEY_TYPE);  //$NON-NLS-1$			}									return rewrite;		}		return null;	}