public void DownloadChapter(string outputPath, IDownloadFormatProvider formatProvider)
{
if (string.IsNullOrEmpty(outputPath))
throw new ArgumentException("Invalid output path", "outputPath");
if (formatProvider == null)
throw new ArgumentNullException("formatProvider");
if (Downloader == null)
throw new InvalidOperationException("There is no downloader configured for the chapter's scraper.");
_downloadInfo.DownloadFolder = outputPath;
Downloader.DownloadChapterAsync(_downloadSemaphore, Chapter, _downloadInfo.DownloadFolder, formatProvider);
}