/// <summary>
        /// Initializes the widget commands.
        /// </summary>
        /// <returns>
        /// The <see cref="IList"/>.
        /// </returns>
        protected virtual IList<WidgetMenuItem> InitializeCommands()
        {
            var packageManager = new PackageManager();
            var commandsList = new List<WidgetMenuItem>();

            commandsList.Add(
                new WidgetMenuItem
                {
                    Text = Res.Get<PageResources>().ZoneEditorAddPersonalizedVersion,
                    CommandName = "addPersonalizedVersion",
                    CssClass = "sfPersonalizeItm"
                });

            commandsList.Add(
                new WidgetMenuItem
                {
                    Text = Res.Get<PageResources>().ZoneEditorRemovePersonalizedVersion,
                    CommandName = "removePersonalizedVersion",
                    CssClass = "sfRemPersonalizedItm sfSeparatorDown"
                });

            commandsList.Add(
                new WidgetMenuItem
                {
                    Text = Res.Get<PageResources>().ZoneEditorEnablePageOverrideDisplayContenxtMenuInfo,
                    CommandName = "displayWidgetOverrideText",
                    CssClass = "sfDisplayText"
                });

            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Delete,
                        CommandName = "beforedelete",
                        CssClass = "sfDeleteItm"
                    });

            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Duplicate,
                        CommandName = "duplicate",
                        CssClass = "sfDuplicateItm"
                    });

            commandsList.Add(
                new WidgetMenuItem
                {
                    Text = Res.Get<PageResources>().ZoneEditorEnablePageOverride,
                    CommandName = "widgetOverride",
                    CssClass = "sfWidgetOverrideItm"
                });

            commandsList.Add(
                new WidgetMenuItem
                {
                    Text = Res.Get<PageResources>().ZoneEditorDisablePageOverride,
                    CommandName = "widgetDisableOverride",
                    CssClass = "sfWidgetOverrideItm"
                });

            if (this.ResolveCurrentSitemapNode() != null)
            {
                commandsList.Add(
                    new WidgetMenuItem
                    {
                        Text = Res.Get<PageResources>().ZoneEditorRollback,
                        CommandName = "rollback",
                        CssClass = "sfDisableWidgetOverrideItm"
                    });
            }

            if (this.SharedContentID == Guid.Empty)
            {
                var shareActionLink =
                    packageManager.EnhanceUrl(
                        RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "Share"), UrlResolveOptions.Rooted));
                commandsList.Add(
                    new WidgetMenuItem
                        {
                            Text = Res.Get<ContentBlockResources>().Share,
                            ActionUrl = shareActionLink,
                            NeedsModal = true
                        });
            }
            else
            {
                var unshareActionLink =
                    packageManager.EnhanceUrl(
                        RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "Unshare"), UrlResolveOptions.Rooted));
                commandsList.Add(
                    new WidgetMenuItem
                        {
                            Text = Res.Get<ContentBlockResources>().Unshare,
                            ActionUrl = unshareActionLink,
                            NeedsModal = true
                        });
            }

            var useSharedActionLink =
                packageManager.EnhanceUrl(
                    RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "UseShared"), UrlResolveOptions.Rooted));
            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<ContentBlockResources>().UseShared,
                        ActionUrl = useSharedActionLink,
                        NeedsModal = true
                    });
            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Permissions,
                        CommandName = "permissions",
                        CssClass = "sfPermItm"
                    });
            return commandsList;
        }
        /// <summary>
        /// Initializes the widget commands.
        /// </summary>
        /// <returns>
        /// The <see cref="IList"/>.
        /// </returns>
        protected virtual IList<WidgetMenuItem> InitializeCommands()
        {
            var packageManager = new PackageManager();
            var commandsList = new List<WidgetMenuItem>(5);

            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Delete,
                        CommandName = "beforedelete",
                        CssClass = "sfDeleteItm"
                    });
            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Duplicate,
                        CommandName = "duplicate",
                        CssClass = "sfDuplicateItm"
                    });

            if (this.SharedContentID == Guid.Empty)
            {
                var shareActionLink =
                    packageManager.EnhanceUrl(
                        RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "Share"), UrlResolveOptions.Rooted));
                commandsList.Add(
                    new WidgetMenuItem
                        {
                            Text = Res.Get<ContentBlockResources>().Share,
                            ActionUrl = shareActionLink,
                            NeedsModal = true
                        });
            }
            else
            {
                var unshareActionLink =
                    packageManager.EnhanceUrl(
                        RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "Unshare"), UrlResolveOptions.Rooted));
                commandsList.Add(
                    new WidgetMenuItem
                        {
                            Text = Res.Get<ContentBlockResources>().Unshare,
                            ActionUrl = unshareActionLink,
                            NeedsModal = true
                        });
            }

            var useSharedActionLink =
                packageManager.EnhanceUrl(
                    RouteHelper.ResolveUrl(string.Format(CultureInfo.InvariantCulture, DesignerTemplate, "UseShared"), UrlResolveOptions.Rooted));
            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<ContentBlockResources>().UseShared,
                        ActionUrl = useSharedActionLink,
                        NeedsModal = true
                    });
            commandsList.Add(
                new WidgetMenuItem
                    {
                        Text = Res.Get<Labels>().Permissions,
                        CommandName = "permissions",
                        CssClass = "sfPermItm"
                    });
            return commandsList;
        }