public async Task <IEnumerable <AddressResponse> > ProcessApplications(RemoteWebDriver aDriver, BlockingCollection <AddressResponse> aResponses) { foreach (var address in aResponses.GetConsumingEnumerable()) { if (await MapTheVoteScripter.SelectMapMarker(aDriver, address)) { // If we can successfully sleect a marker, this means that we have it in the cache, // and it's valid. We can move on to the SoS site to submit an application. var submissionSuccess = await SubmitNewApplication(aDriver, address); if (submissionSuccess) { var applicationLogged = await MapTheVoteScripter.MarkApplicationProcessed(aDriver); if (applicationLogged) { SubmittedAddresses.Add(address); } } } } await MapTheVoteScripter.CloseMarkerWindow(aDriver); return(SubmittedAddresses); }