/// <summary>
        /// Adds the menu item.
        /// </summary>
        /// <param name="parameter">The parameter.</param>
        /// <param name="items">The items.</param>
        private void AddMenuItem(BaseMenuItemDescriptor parameter, ObservableCollection <MenuItem> items)
        {
            ObservableCollection <MenuItem> tempList = new ObservableCollection <MenuItem>();

            MenuItemDescriptor menuItem = parameter as MenuItemDescriptor;

            if (menuItem != null)
            {
                if (menuItem.SubItems != null)
                {
                    foreach (BaseMenuItemDescriptor subItem in menuItem.SubItems)
                    {
                        AddMenuItem(subItem, tempList);
                    }
                }

                MenuItem radMenuItem = new MenuItem
                {
                    Command = menuItem.Command,
                    Header  = menuItem.Label,
                    ToolTip = menuItem.ToolTip
                };
                ToolTipService.SetShowOnDisabled(radMenuItem, true);


                if (tempList.Any())
                {
                    tempList.Select(it => radMenuItem.Items.Add(it)).ToList();
                }

                items.Add(radMenuItem);
            }
        }
 /// <summary>
 /// Processes the menu item event.
 /// </summary>
 /// <param name="parameter">The parameter.</param>
 private void ProcessMenuItemEvent(BaseMenuItemDescriptor parameter)
 {
     AddMenuItem(parameter, Items);
 }