/// <summary>
        /// Checks if the menu requested is for the recycle bin and renders that, otherwise renders the result of PerformGetMenuForNode
        /// </summary>
        /// <param name="id"></param>
        /// <param name="queryStrings"></param>
        /// <returns></returns>
        protected sealed override ActionResult <MenuItemCollection> GetMenuForNode(string id, FormCollection queryStrings)
        {
            if (RecycleBinId.ToInvariantString() == id)
            {
                // get the default assigned permissions for this user
                var deleteAllowed = false;
                var deleteAction  = _actionCollection.FirstOrDefault(y => y.Letter == ActionDelete.ActionLetter);
                if (deleteAction != null)
                {
                    var perms = _backofficeSecurityAccessor.BackOfficeSecurity.CurrentUser.GetPermissions(Constants.System.RecycleBinContentString, _userService);
                    deleteAllowed = perms.FirstOrDefault(x => x.Contains(deleteAction.Letter)) != null;
                }

                var menu = MenuItemCollectionFactory.Create();
                // only add empty recycle bin if the current user is allowed to delete by default
                if (deleteAllowed)
                {
                    menu.Items.Add(new MenuItem("emptyrecyclebin", LocalizedTextService)
                    {
                        Icon        = "trash",
                        OpensDialog = true
                    });
                    menu.Items.Add(new RefreshNode(LocalizedTextService, true));
                }
                return(menu);
            }

            return(PerformGetMenuForNode(id, queryStrings));
        }