docs: public static Store.Provider selectStoreProvider(
        ServiceProvider<Service> serviceProvider, Set<ResourceType<?>> resourceTypes, Collection<ServiceConfiguration<?>> serviceConfigs) {
  
      Collection<Store.Provider> storeProviders = serviceProvider.getServicesOfType(Store.Provider.class);
      List<Store.Provider> filteredStoreProviders = storeProviders.stream().filter(provider -> !(provider instanceof WrapperStore.Provider)).collect(Collectors.toList());
      int highRank = 0;
      List<Store.Provider> rankingProviders = new ArrayList<>();
      for (Store.Provider provider : filteredStoreProviders) {
        int rank = provider.rank(resourceTypes, serviceConfigs);
        if (rank > highRank) {
          highRank = rank;
          rankingProviders.clear();
          rankingProviders.add(provider);
        } else if (rank != 0 && rank == highRank) {
          rankingProviders.add(provider);
        }
      }
  
      if (rankingProviders.isEmpty()) {
        StringBuilder sb = new StringBuilder("No Store.Provider found to handle configured resource types ");
        sb.append(resourceTypes);
        sb.append(" from ");
        formatStoreProviders(filteredStoreProviders, sb);
        throw new IllegalStateException(sb.toString());
      } else if (rankingProviders.size() > 1) {
        StringBuilder sb = new StringBuilder("Multiple Store.Providers found to handle configured resource types ");
        sb.append(resourceTypes);
        sb.append(": ");
        formatStoreProviders(rankingProviders, sb);
        throw new IllegalStateException(sb.toString());
      }
  
      return rankingProviders.get(0);
    }