protected virtual ITextTemplatingFilePreprocessor CreateTextTemplatingFilePreprocessor(
			FileProjectItem templateFile,
			CustomToolContext context)
        {
            var host = CreateTextTemplatingHost(context.Project);
            var textTemplatingCustomToolContext = new TextTemplatingCustomToolContext(context);
            return new TextTemplatingFilePreprocessor(host, templateFile, textTemplatingCustomToolContext);
        }
        protected virtual ITextTemplatingFileGenerator CreateTextTemplatingFileGenerator(
            FileProjectItem templateFile,
            CustomToolContext context)
        {
            TextTemplatingHost host             = CreateTextTemplatingHost(context.Project);
            var textTemplatingCustomToolContext = new TextTemplatingCustomToolContext(context);

            return(new TextTemplatingFileGenerator(host, templateFile, textTemplatingCustomToolContext));
        }
		protected virtual ITextTemplatingFileGenerator CreateTextTemplatingFileGenerator(
			IFileProjectItem templateFile,
			CustomToolContext context)
		{
			TextTemplatingHost host = CreateTextTemplatingHost(context.Project);
			var textTemplatingCustomToolContext = new TextTemplatingCustomToolContext(context);
			
			return new TextTemplatingFileGenerator(host, templateFile, textTemplatingCustomToolContext);
		}