/// <summary>Convert a Native Instruction to an X86 Dissembled Instruction.</summary>
        /// <param name="this">A native instruction.</param>
        /// <returns>A dissembled instruction.</returns>
        public static Instruction <X86Instruction, X86Register, X86InstructionGroup, X86InstructionDetail> AsX86Instruction(this NativeInstruction @this)
        {
            var @object = @this.AsInstruction <X86Instruction, X86Register, X86InstructionGroup, X86InstructionDetail>();

            @object.Id = (X86Instruction)@this.InstructionId;

            return(@object);
        }
        /// <summary>Convert a Native Instruction to a ARM64 Dissembled Instruction.</summary>
        /// <param name="this">A native instruction.</param>
        /// <returns>A dissembled instruction.</returns>
        public static Instruction <Arm64Instruction, Arm64Register, Arm64InstructionGroup, Arm64InstructionDetail> AsArm64Instruction(this NativeInstruction @this)
        {
            var @object = @this.AsInstruction <Arm64Instruction, Arm64Register, Arm64InstructionGroup, Arm64InstructionDetail>();

            @object.Id = (Arm64Instruction)@this.InstructionId;

            return(@object);
        }