private static void Generate(Options options)
        {
            using (var templateStream = new FileStream(options.TemplateFileName, FileMode.Open))
                using (var destinationStream = new FileStream(options.TargetFileName, FileMode.Create))
                {
                    var dataDocument = XDocument.Load(options.DataFileName);
                    var generator    = new DocxGenerator();
                    try
                    {
                        DocxGeneratorSettings settings = null;
                        if (options.ThrowException)
                        {
                            settings = new DocxGeneratorSettings {
                                MissingDataMode = MissingDataMode.ThrowException
                            };
                        }
                        else if (options.PrintError)
                        {
                            settings = new DocxGeneratorSettings {
                                MissingDataMode = MissingDataMode.PrintError
                            };
                        }
                        else if (options.Ignore)
                        {
                            settings = new DocxGeneratorSettings {
                                MissingDataMode = MissingDataMode.Ignore
                            };
                        }

                        if (settings == null)
                        {
                            settings = new DocxGeneratorSettings
                            {
                                CreateDynamicContentTags = options.LockDynamicContent
                            };
                        }
                        else
                        {
                            settings.CreateDynamicContentTags = options.LockDynamicContent;
                        }

                        generator.GenerateDocx(templateStream, destinationStream, dataDocument, settings);
                    }
                    catch (Exception exception)
                    {
                        ErrorLog(exception, options);
                    }
                }
        }
        private static void Generate(Options options)
        {
            using (var templateStream = new FileStream(options.TemplateFileName, FileMode.Open))
            using (var destinationStream = new FileStream(options.TargetFileName, FileMode.Create))
            {
                var dataDocument = XDocument.Load(options.DataFileName);
                var generator = new DocxGenerator();
                try
                {
                    DocxGeneratorSettings settings = null;
                    if (options.ThrowException)
                    {
                        settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.ThrowException };
                    }
                    else if (options.PrintError)
                    {
                        settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.PrintError };
                    }
                    else if (options.Ignore)
                    {
                        settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.Ignore };
                    }
                    
                    if (settings == null)
                    {
                        settings = new DocxGeneratorSettings
                                       {
                                           CreateDynamicContentTags = options.LockDynamicContent
                                       };
                    }
                    else
                    {
                        settings.CreateDynamicContentTags = options.LockDynamicContent;
                    }

                    generator.GenerateDocx(templateStream, destinationStream, dataDocument, settings);
                }
                catch (Exception exception)
                {
                    ErrorLog(exception, options);
                }
            }
        }