private static void ProcessNewPageDefaultSettings(PublishingWeb publishingWeb, PageLayoutAndSiteTemplateSettingsDefinition definition)
        {
            var web = publishingWeb.Web;

            if (definition.InheritDefaultPageLayout.HasValue && definition.InheritDefaultPageLayout.Value)
            {
                publishingWeb.InheritDefaultPageLayout();
            }
            else if (definition.UseDefinedDefaultPageLayout.HasValue && definition.UseDefinedDefaultPageLayout.Value)
            {
                var publishingSite = new PublishingSite(web.Site);
                var pageLayouts    = publishingSite.PageLayouts;

                var selectedPageLayout = pageLayouts.FirstOrDefault(t => t.Name.ToUpper() == definition.DefinedDefaultPageLayout.ToUpper());;

                if (selectedPageLayout != null)
                {
                    publishingWeb.SetDefaultPageLayout(
                        selectedPageLayout,
                        definition.ResetAllSubsitesToInheritDefaultPageLayout.HasValue
                            ? definition.ResetAllSubsitesToInheritDefaultPageLayout.Value
                            : false);
                }
            }
        }
        private static void ProcessNewPageDefaultSettings(PublishingWeb publishingWeb, PageLayoutAndSiteTemplateSettingsDefinition definition)
        {
            var web = publishingWeb.Web;

            if (definition.InheritDefaultPageLayout.HasValue && definition.InheritDefaultPageLayout.Value)
                publishingWeb.InheritDefaultPageLayout();
            else if (definition.UseDefinedDefaultPageLayout.HasValue && definition.UseDefinedDefaultPageLayout.Value)
            {
                var publishingSite = new PublishingSite(web.Site);
                var pageLayouts = publishingSite.PageLayouts;

                var selectedPageLayout = pageLayouts.FirstOrDefault(t => t.Name.ToUpper() == definition.DefinedDefaultPageLayout.ToUpper()); ;

                if (selectedPageLayout != null)
                {
                    publishingWeb.SetDefaultPageLayout(
                        selectedPageLayout,
                        definition.ResetAllSubsitesToInheritDefaultPageLayout.HasValue
                            ? definition.ResetAllSubsitesToInheritDefaultPageLayout.Value
                            : false);
                }
            }
        }