internal MenuItem Add(NormalMenuItem item, CommandRef commandRef)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(Menu));
            }

            _itemList.Add(item);
            MenusAPI.AppendMenuItemWithCommand(_menuId, item.Name, commandRef);
            _lists.Add(item, this);
            return(item);
        }
        internal unsafe MenuItem Add(NormalMenuItem item)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(Menu));
            }

            _itemList.Add(item);
            MenusAPI.AppendMenuItem(_menuId, item.Name, (void *)item.UniqueId, 0);
            _lists.Add(item, this);
            return(item);
        }