private void Worker_DoWork(object sender, DoWorkEventArgs e) { Server server = this.servers[(int)e.Argument]; bool flag = false; while (!flag) { Console.WriteLine("Starting " + server.apiName); this.startedDelegate(server); Auctions auctions = this.explorer.GetAuctions(server.apiName); auctions.filterData(); if (auctions != null) { server.auctions = auctions; this.refreshDelegate(server); flag = true; } else { Console.WriteLine("parsing failed " + server.apiName); flag = false; } } Console.WriteLine("completed " + server.apiName); }