/// <summary>
 /// Read the whole document and convert it
 /// </summary>
 /// <param name="language">The language to use for the document to load</param>
 /// <param name="document">The name of the document to load</param>
 /// <param name="convertStrategy">The convert strategy to use</param>
 /// <returns>The whole document converted with the convert startegy</returns>
 public string ReadConvertedDocument(
     string language,
     string document,
     IDocumentConvertStrategy convertStrategy
     )
 {
     return(convertStrategy?.GetConverted(ReadDocument(language, document)));
 }
        /// <summary>
        /// Read the whole async document and convert it
        /// </summary>
        /// <param name="language">The language to use for the document to load</param>
        /// <param name="document">The name of the document to load</param>
        /// <param name="convertStrategy">The convert strategy to use</param>
        /// <returns>The whole document converted with the convert startegy</returns>
        public async Task <string> ReadConvertedDocumentAsync(
            string language,
            string document,
            IDocumentConvertStrategy convertStrategy
            )
        {
            Task <string> returnTask = Task.Run(() =>
            {
                return(convertStrategy?.GetConverted(ReadDocument(language, document)));
            });

            return(await returnTask);
        }