/// <summary>
        /// Deletings the item.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The <see cref="ListViewDeleteEventArgs"/> instance containing the event data.
        /// </param>
        protected void DeletingItem(object sender, ListViewDeleteEventArgs e)
        {
            Label labelName = this.listView.Items[e.ItemIndex].FindControl("labelName") as Label;

            if (labelName == null)
            {
                return;
            }

            try
            {
                ClonedContentProviderHelpers.DeleteProvider(labelName.Text);
                this.listView.Items.RemoveAt(e.ItemIndex);
            }
            catch (InvalidOperationException invalidOperationException)
            {
                this.ShowError(invalidOperationException.Message);
            }

            this.BindData();
        }
        /// <summary>
        /// Adds the provider.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The <see cref="EventArgs"/> instance containing the event data.
        /// </param>
        protected void AddProvider(object sender, EventArgs e)
        {
            InputPageReference root       = (InputPageReference)this.listView.FindControl("rootPage");
            InputPageReference entryPoint = (InputPageReference)this.listView.FindControl("entryPoint");

            PageData rootPage  = ServiceLocator.Current.GetInstance <IContentRepository>().Get <PageData>(root.PageLink);
            PageData entryPage =
                ServiceLocator.Current.GetInstance <IContentRepository>().Get <PageData>(entryPoint.PageLink);

            string pageName = Regex.Replace(rootPage.Name, "[^a-zA-Z0-9]+", string.Empty, RegexOptions.Compiled);

            try
            {
                ClonedContentProviderHelpers.AddProvider(root.PageLink.ID, entryPoint.PageLink.ID, pageName, entryPage.Category);
            }
            catch (InvalidOperationException invalidOperationException)
            {
                this.ShowError(invalidOperationException.Message);
            }

            this.BindData();
        }