private static MenuFlyoutItemBase GetItem(MenuItemViewModelBase viewModel)
        {
            if (viewModel is ExpandableMenuItemViewModel expandable)
            {
                return(GetExpandableItem(expandable));
            }

            if (viewModel is SeparatorMenuItemViewModel)
            {
                return(GetSeparatorItem());
            }

            if (viewModel is MenuItemViewModel regular)
            {
                return(GetRegularItem(regular));
            }

            if (viewModel is ToggleMenuItemViewModel toggle)
            {
                return(GetToggleItem(toggle));
            }

            if (viewModel is RadioMenuItemViewModel radio)
            {
                return(GetRadioItem(radio));
            }

            // Won't happen ever, but still...
            throw new NotImplementedException(
                      $"Unexpected {nameof(MenuItemViewModelBase)} type: {viewModel.GetType()}");
        }
 public override bool EquivalentTo(MenuItemViewModelBase other)
 {
     return(other is SeparatorMenuItemViewModel);
 }