The current approach (ContainerRepository being an iterator) implies that all strategies will always have to scan the containers (possibly returning early).
Also, why push the iteration responsibility to the strategy interface (early return is one benefit though)