public bool Deselect(MultiSelectTreeViewItem item, bool bringIntoView = false)
{
var e = new PreviewSelectionChangedEventArgs(false, item.DataContext);
OnPreviewSelectionChanged(e);
if (e.CancelAny) return false;
treeView.SelectedItems.Remove(item.DataContext);
if (item.DataContext == lastShiftRoot)
{
lastShiftRoot = null;
}
FocusHelper.Focus(item, bringIntoView);
return true;
}