public IHandler Build(IHandler parent)
        {
            if (_Content == null)
            {
                throw new BuilderMissingPropertyException("Content");
            }

            return(Concerns.Chain(parent, _Concerns, (p) => new PageProvider(p, _Info.Build(), _Content)));
        }
        public IHandler Build(IHandler parent)
        {
            if (_TemplateProvider == null)
            {
                throw new BuilderMissingPropertyException("Template Provider");
            }

            if (_ModelProvider == null)
            {
                throw new BuilderMissingPropertyException("Model Provider");
            }

            return(Concerns.Chain(parent, _Concerns, (p) => new RazorPageProvider <T>(p, _TemplateProvider, _ModelProvider, _Info.Build())));
        }
        public IHandler Build(IHandler parent)
        {
            if (_FileProvider == null)
            {
                throw new BuilderMissingPropertyException("File Provider");
            }

            return(Concerns.Chain(parent, _Concerns, (p) => new MarkdownPageProvider <T>(p, _FileProvider, _Info.Build())));
        }