When adding new Implementations the last child IStore that doesn't throw an UnauthorizedAccessException is used.
When when retrieving existing Implementations the first child IStore that returns true
for IStore.Contains(ZeroInstall.Store.Model.ManifestDigest) is used.