Looping over the contenders container while inserting causes the loop to go over the newly inserted items which is not intended. For better or worse, double inserting a contender has no change in behavior, so this diff does not either.
Depends on D17860