/// <summary>
        ///     Create an X86 Instruction Detail.
        /// </summary>
        /// <param name="disassembler">
        ///     A disassembler.
        /// </param>
        /// <param name="hInstruction">
        ///     An instruction handle.
        /// </param>
        /// <returns>
        ///     An X86 instruction detail.
        /// </returns>
        internal static X86InstructionDetail Create(CapstoneDisassembler disassembler, NativeInstructionHandle hInstruction)
        {
            var builder = new X86InstructionDetailBuilder();

            builder.Build(disassembler, hInstruction);

            return(builder.Create());
        }
 /// <summary>
 ///     Create an X86 Instruction Detail.
 /// </summary>
 /// <param name="builder">
 ///     A builder to initialize the object with.
 /// </param>
 internal X86InstructionDetail(X86InstructionDetailBuilder builder) : base(builder)
 {
     this.AddressSize              = builder.AddressSize;
     this.AvxConditionCode         = builder.AvxConditionCode;
     this.AvxRoundingMode          = builder.AvxRoundingMode;
     this.AvxSuppressAllExceptions = builder.AvxSuppressAllExceptions;
     this.Displacement             = builder.Displacement;
     this.EFlags           = builder.EFlags;
     this.Encoding         = builder.Encoding;
     this.FpuFlags         = builder.FpuFlags;
     this.ModRm            = builder.ModRm;
     this.Opcode           = builder.Opcode;
     this.Operands         = builder.Operands;
     this.Prefix           = builder.Prefix;
     this.Rex              = builder.Rex;
     this.Sib              = builder.Sib;
     this.SibBase          = builder.SibBase;
     this.SibIndex         = builder.SibIndex;
     this.SibScale         = builder.SibScale;
     this.SseConditionCode = builder.SseConditionCode;
     this.XopConditionCode = builder.XopConditionCode;
 }