internal void AddToFavorites(TaxonViewModel Taxon, bool global)
        {
            TaxonFavorite model = new TaxonFavorite();

            model.IsGroup          = false;
            model.ChgComb          = Taxon.ChgComb ?? false;
            model.ElemType         = Taxon.ElemType;
            model.Epithet          = Taxon.Epithet;
            model.FavoriteID       = -1;
            model.FavoriteParentID = 0;
            model.IsGlobal         = global;
            model.KingdomCode      = Taxon.KingdomCode;
            model.NameStatus       = Taxon.NameStatus;
            model.Rank             = Taxon.Rank;
            model.TaxaFullName     = Taxon.TaxaFullName;
            model.TaxaID           = Taxon.TaxaID ?? -1;
            model.TaxaParentID     = Taxon.TaxaParentID ?? -1;
            model.Unplaced         = Taxon.Unplaced ?? false;
            model.Unverified       = Taxon.Unverified ?? false;
            model.Username         = User.Username;
            model.YearOfPub        = Taxon.YearOfPub;

            LoadFavorites();

            TaxonFavoriteViewModel viewModel = new TaxonFavoriteViewModel(model);

            if (global)
            {
                _globalRoot.IsExpanded = true;
                _globalRoot.Children.Add(viewModel);
                viewModel.Parent = _globalRoot;
            }
            else
            {
                _userRoot.IsExpanded = true;
                _userRoot.Children.Add(viewModel);
                viewModel.Parent = _userRoot;
            }

            viewModel.IsSelected = true;

            RegisterPendingChange(new InsertTaxonFavoriteCommand(viewModel.Model));
        }
        internal void AddFavoriteGroup(HierarchicalViewModelBase parent)
        {
            int parentGroupID = 0;

            if (parent == null)
            {
                return;
            }

            bool isGlobal = false;

            if (parent is ViewModelPlaceholder)
            {
                isGlobal = (bool)(parent as ViewModelPlaceholder).Tag;
            }
            else if (parent is TaxonFavoriteViewModel)
            {
                var parentViewModel = parent as TaxonFavoriteViewModel;
                isGlobal      = parentViewModel.IsGlobal;
                parentGroupID = parentViewModel.FavoriteID;
            }

            TaxonFavorite model = new TaxonFavorite();

            model.IsGroup          = true;
            model.GroupName        = "<New Folder>";
            model.IsGlobal         = isGlobal;
            model.FavoriteParentID = parentGroupID;

            TaxonFavoriteViewModel viewModel = new TaxonFavoriteViewModel(model);

            viewModel.Parent = parent;

            parent.Children.Add(viewModel);

            RegisterUniquePendingChange(new InsertFavoriteGroupCommand(model));
            viewModel.IsRenaming = true;
        }