public async Task <ConvertionResult> ConvertAsync(Uri url)
        {
            var builder        = new StringBuilder();
            var imageCollector = new ImageCollector(this.logger);

            var document = await this.ConvertAsync(url, builder, imageCollector);

            return(new ConvertionResult(
                       new[] { document },
                       await imageCollector.GetCollectedImagesAsync(this.httpClient)));
        }
        public async Task <ConvertionResult> ConvertAsync(IEnumerable <Uri> urls)
        {
            urls = urls as IList <Uri> ?? urls.ToList();
            var builder        = new StringBuilder();
            var imageCollector = new ImageCollector(this.logger);
            var documents      = new List <ConvertedDocument>(urls.Count());

            foreach (var url in urls)
            {
                documents.Add(await this.ConvertAsync(url, builder, imageCollector));
                builder.Length = 0;
            }

            return(new ConvertionResult(
                       documents,
                       await imageCollector.GetCollectedImagesAsync(this.httpClient)));
        }