MethodDeclaration newMethodDecl= StubUtility2.createImplementationStub(getCompilationUnit(), rewrite, imports, ast, methods[i], binding.getName(), settings, binding.isInterface());
MethodDeclaration newMethodDecl= StubUtility2.createImplementationStub(getCompilationUnit(), rewrite, imports, ast, methods[i], binding.getName(), settings, binding.isInterface(), context);
	protected ASTRewrite getRewrite() throws CoreException {		ITypeBinding binding;		AST ast= fTypeNode.getAST();		ASTRewrite rewrite= ASTRewrite.create(ast);		ListRewrite listRewrite;		if (fTypeNode instanceof AnonymousClassDeclaration) {			AnonymousClassDeclaration decl= (AnonymousClassDeclaration) fTypeNode;			binding= decl.resolveBinding();			listRewrite= rewrite.getListRewrite(decl, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY);		} else {			AbstractTypeDeclaration decl= (AbstractTypeDeclaration) fTypeNode;			binding= decl.resolveBinding();			listRewrite= rewrite.getListRewrite(decl, decl.getBodyDeclarationsProperty());		}		IMethodBinding[] methods= StubUtility2.getUnimplementedMethods(binding);		fMethodsToOverride= methods;		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings(getCompilationUnit().getJavaProject());		if (binding.isAnonymous()) {			settings.createComments= false;		}		ImportRewrite imports= new ImportRewrite(createImportRewrite((CompilationUnit) fTypeNode.getRoot()));		for (int i= 0; i < methods.length; i++) {			MethodDeclaration newMethodDecl= StubUtility2.createImplementationStub(getCompilationUnit(), rewrite, imports, ast, methods[i], binding.getName(), settings, binding.isInterface());			listRewrite.insertLast(newMethodDecl, null);		}		return rewrite;	}