private void CreatePage(PageManager pageManager, Guid pageID, Guid parentPageID, string urlName, bool showInNavigation, string title, PageControl control)
        {
            // get backend node
            var parentPage = pageManager.GetPageNode(parentPageID);

            // Create a node in the SiteMap for that page.
            var node = pageManager.CreatePageNode(pageID);

            pageManager.ChangeParent(node, parentPage);
            parentPage.Nodes.Add(node);

            // set page properties
            node.RenderAsLink     = true;
            node.Title            = title;
            node.ShowInNavigation = showInNavigation;
            node.UrlName          = urlName;

            // Create a PageData object to hold the actual page contents
            var pageData = pageManager.CreatePageData();

            pageData.Template  = pageManager.GetTemplate(SiteInitializer.DefaultBackendTemplateId);
            pageData.HtmlTitle = title;
            pageData.Title     = title;
            pageData.Status    = ContentLifecycleStatus.Live;
            pageData.Visible   = true;
            pageData.Version   = 1;

            //associate the node with the PageData object
            node.Page = pageData;

            // add admin control to the page
            if (control != null)
            {
                pageData.Controls.Add(control);
            }
        }