private static async Task UpdateMetaData(IMetaDataParser parser) { var options = new ProgressBarOptions { ForegroundColor = ConsoleColor.Yellow, BackgroundColor = ConsoleColor.DarkYellow, ProgressCharacter = '─' }; var memCache = new MemFile(); var metaData = new MetaDataService(new List <IMetaDataParser> { parser }, Client2.GetDocumentAsync); var first = true; ConsoleProgress pb = null; IProgress <double> GetProgress(string context) { pb?.Dispose(); if (first) { first = false; } else { Console.WriteLine(); Console.WriteLine(); } return(pb = new ConsoleProgress(options, context)); } metaData.ReportProgressFactory = GetProgress; await metaData.DownloadMetaData(parser.ProviderName, CancellationToken.None); }