Actually, I am:
* The new requests is added to the pendingRequest always. And if it can be serviced now, this calls retrieve. Retrieve is the one that actually checks if there's a live request for that uid already, and moves it to the live list only if there's no existing request, as the comment says.

I'll move the comment to the beginning of the class, though, since it seems it'll be clearer at that point.