We can't assume that providerList[0] is the right one -- there may be > 1 provider in the list but only one has returned errors.  In the loop in run(), you could keep track of the last provider that had > 0 results, and then pass it in here for reference.