static void ToggleCheckedStateIfItemSelected(Selector selector, CheckBox target)
        {
            var selectedItems = selector.GetSelectedItems();

            var targetIsChildOfSelectedItem = false;

            foreach (var item in selectedItems)
            {
                var listItem = selector.ItemContainerGenerator.ContainerFromItem(item);

                if (listItem == null)
                {
                    continue;
                }

                if (target.IsVisualChildOf(listItem))
                {
                    targetIsChildOfSelectedItem = true;
                    break;
                }
            }

            if (!targetIsChildOfSelectedItem)
                return;

            target.IsChecked = !target.IsChecked;
        }