private void PasteFavorite(DrillDownMenuItem pasteTargetItem, DrillDownMenuItem pasteItem)
        {
            if (favoritesMenu.TopMenuItem != null)
            {
                DrillDownMenuItem cloneEntry = pasteItem.Clone() as DrillDownMenuItem;
                int idx = 0;

                if (pasteTargetItem.IsFolder)
                {
                    cloneEntry.Parent = pasteTargetItem;
                    idx = pasteTargetItem.Children.Count;
                }
                else if (pasteTargetItem.IsBackItem)
                {
                    cloneEntry.Parent = pasteTargetItem.Parent.Parent;
                    idx = pasteTargetItem.Parent.Parent.Children.Count;
                }
                else
                {
                    cloneEntry.Parent = pasteTargetItem.Parent ?? favoritesMenu.TopMenuItem;

                    idx = cloneEntry.Parent.Children.IndexOf(pasteTargetItem);

                    if (pasteTargetItem.IsBackItem)
                    {
                        idx++;
                    }
                }

                cloneEntry.Parent.Children.Insert(idx, cloneEntry);
            }
        }
        public void AddToFavorites(DrillDownMenuItem drillDownMenuItem, DrillDownMenuItem targetFolder)
        {
            if (favoritesMenu.TopMenuItem != null)
            {
                DrillDownMenuItem cloneEntry    = drillDownMenuItem.Clone() as DrillDownMenuItem;
                DrillDownMenuItem currentFolder = favoritesMenu.CurrentFolder;

                if (targetFolder != null)
                {
                    currentFolder = targetFolder;
                }

                if (currentFolder.IsBackItem)
                {
                    currentFolder = currentFolder.Parent ?? favoritesMenu.TopMenuItem;
                }

                cloneEntry.Parent = currentFolder;

                currentFolder.Children.Add(cloneEntry);
            }
        }