This more closely matches Processor::setStakingRewardWinners which will help eliminate unnecessary logic that loops over new winners to add them to the cache. When the cache is ready to be populated, this line can be dropped into setStakingRewardWinners() with minimal other changes:
stakeContenderCache.setWinners(pprev, payouts);