/// <summary>
        /// Applies the placeholders to the body and the subject properties
        /// </summary>
        /// <param name="mailTemplate"></param>
        /// <param name="logger"></param>
        /// <returns></returns>
        public async Task <Data.MailTemplate> ApplyPlaceholdersAsync(Data.MailTemplate mailTemplate, System.IO.TextWriter logger = null)
        {
            var placeholderGroupReplacements = mailTemplate.PlaceholderGroupList.PlaceholderGroupDictionary.Values.ToList();
            var placeholderReplacements      = mailTemplate.PlaceholderList.PlaceholderDictionary.Values.ToList();
            var optionalSectionsReplacements = mailTemplate.OptionalSections;

            return(await _placeholderLogic.ApplyPlaceholdersAsync(mailTemplate, placeholderGroupReplacements, placeholderReplacements, optionalSectionsReplacements, logger));
        }