public override byte[] ToArray()
        {
            var arr = base.ToArray();

            arr[0x2]  = USB.LoByte();
            arr[0x3]  = USB.HiByte();
            arr[0x4]  = DeviceClass;
            arr[0x5]  = DeviceSubClass;
            arr[0x6]  = DeviceProtocol;
            arr[0x7]  = MaxPacketSize;
            arr[0x8]  = VendorId.LoByte();
            arr[0x9]  = VendorId.HiByte();
            arr[0xA]  = ProductId.LoByte();
            arr[0xB]  = ProductId.HiByte();
            arr[0xC]  = Device.LoByte();
            arr[0xD]  = Device.HiByte();
            arr[0xE]  = ManufacturerIndex;
            arr[0xF]  = ProductIndex;
            arr[0x10] = SerialNumberIndex;
            arr[0x11] = NumberOfConfigurations;
            return(arr);
        }