private <C extends Builder<T>, T> Map<String, T> buildMap(JsonIndex<C, T>[] signerIndexes) {
        Map<String, T> map = new HashMap<String, T>();
        if (signerIndexes != null) {
            for (JsonIndex<C, T> index : signerIndexes) {
                String region = index.getKey();
                T prev = map.put(region, index.newReadOnlyConfig());
                if (prev != null) {
                    log.warn("Duplicate definition of signer for " + index.getKey());
                }
            }
        }
        return map;
    }
Returns an immutable map by merging the override signer configuration into the default signer
configuration for the given theme.

@param defaults
           default signer configuration
@param override
           signer configurations overrides
@param theme
           used for message logging. eg region, service, region+service
aws-java-sdk-core/src/main/java/com/amazonaws/internal/config/InternalConfig.java