public X86DisassemblyContentProviderFactory(X86DisassemblyContentProviderFactoryDependencies deps, int bitness, DisassemblyContentFormatterOptions formatterOptions, Contracts.Disassembly.ISymbolResolver symbolResolver, string header, NativeCodeOptimization optimization, NativeCodeBlock[] blocks, NativeCodeInfo codeInfo, NativeVariableInfo[] variableInfo, string methodName)
 {
     if (blocks == null)
     {
         throw new ArgumentNullException(nameof(blocks));
     }
     this.deps             = deps ?? throw new ArgumentNullException(nameof(deps));
     this.bitness          = bitness;
     this.formatterOptions = formatterOptions;
     this.symbolResolver   = symbolResolver;
     this.header           = header;
     this.optimization     = optimization;
     this.blocks           = blocks ?? throw new ArgumentNullException(nameof(blocks));
     this.codeInfo         = codeInfo as X86NativeCodeInfo;
     this.variableInfo     = variableInfo;
     this.methodName       = methodName;
 }
 /// <summary>
 /// Creates a <see cref="DisassemblyContentProvider"/> that can be passed to <see cref="DisassemblyViewerService.Show(DisassemblyContentProvider, string)"/>
 /// </summary>
 /// <param name="code">Native code</param>
 /// <param name="formatterOptions">Options</param>
 /// <param name="symbolResolver">Symbol resolver or null</param>
 /// <param name="header">Header comment added at the top of the document or null. This can contain multiple lines</param>
 /// <returns></returns>
 public abstract DisassemblyContentProvider Create(NativeCode code, DisassemblyContentFormatterOptions formatterOptions, ISymbolResolver symbolResolver, string header);