public void merge(UserConfigRepo newRepo) {
        for (Map.Entry<ConfigDefinitionKey, ConfigPayloadBuilder> entry : newRepo.userConfigsMap.entrySet()) {
            if (entry.getValue() == null) continue;

            ConfigDefinitionKey key = entry.getKey();
            if (userConfigsMap.containsKey(key)) {
                ConfigPayloadBuilder lhsBuilder = userConfigsMap.get(key);
                ConfigPayloadBuilder rhsBuilder = entry.getValue();
                lhsBuilder.override(rhsBuilder);
            } else {
                userConfigsMap.put(key, entry.getValue());
            }
        }
    }
A UserConfigRepo is a repository for user configs, typically for a particular config producer. The repo encapsulates
how the user configs are stored, and defines the methods to retrieve user configs and merge the repo with others.

@author Ulf Lilleengen
config-model/src/main/java/com/yahoo/config/model/producer/UserConfigRepo.java