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);
        }