public void ProcessTemplate(List <Entity> entites, String templateName, String templateType, String DirectoryPath)
        {
            Template        template         = new Template();
            ServiceResolver service          = new ServiceResolver();
            String          GeneratedDocPath = service.GetOutputFilePath(DirectoryPath, templateType, templateName);

            File.Copy(new ServiceResolver().GetTemplateFilePath(templateName, templateType), GeneratedDocPath);
            template.Text     = service.GetTemplateFileText(templateName, templateType);
            template.Entities = entites;
            List <Extension> extensions = new ExtensionParser().GetExtensions(template);

            foreach (Extension e in extensions)
            {
                e.Process(template.Entities);
                service.ReplaceTextInFile(GeneratedDocPath, e.ExtensionText, e.ProcessedText, templateType);
            }
        }