protected override void PrepareWritePage(IPageMaker pageMaker, ISource source,
                                                 IPageData pageData, OutputData outputData)
        {
            base.PrepareWritePage(pageMaker, source, pageData, outputData);

            fModuleTemplate.SetPageMaker(source, pageData, outputData, pageMaker);
            RazorPageTemplatePageMaker templateMaker = pageMaker as RazorPageTemplatePageMaker;

            if (templateMaker != null)
            {
                var overrideItem = FindOverrideItem(pageData);
                templateMaker.SetConfig(overrideItem);
                return;
            }

            PostPageMaker postMaker = pageMaker as PostPageMaker;

            if (postMaker != null)
            {
                if (fOverridePostPageMakers == null)
                {
                    return;
                }
                var overrideItem = (from item in fOverridePostPageMakers
                                    where MetaDataUtil.Equals(item.Style, pageData.Style)
                                    select item).FirstOrDefault();
                if (overrideItem != null)
                {
                    postMaker.SetProperties(overrideItem.DataType,
                                            overrideItem.DestUrl, overrideItem.CustomUrl);
                    postMaker.UseRetUrlFirst = overrideItem.UseRetUrlFirst;
                    if (overrideItem.AlertMessage != null)
                    {
                        postMaker.AlertMessage = overrideItem.AlertMessage.ToString();
                    }
                }
            }
        }