The fact that the loop is doing “find first driver matching these strange criteria” seems most obviously obscured by the pattern of assigning a value, then killing the loop or not. This strikes me as the part that makes the algorithm tedious to test, since it forces us to use a collection to test the intricacies of the inner conditions.
Once we isolate “find first driver matching condition” from computing the condition for each driver, I consider the rest a question of personal taste. Specification pattern, composition of filters, something like that. Whatever you find easier to follow.
I find it uncomfortable not to understand. It has taken me decades to make peace with the motion that being different is not only acceptable, but good. Many people don’t get me, but the ones who do become friends for life. Many people find things interesting or enjoyable that would make me cry from boredom.
I’ve chosen to find it charming.
You might be able to do that, too. If not now, then one day. It took me a long time.
Peace.