private Map<String, GlobalIdDesc> createGlobalIdMap(
      Collection<GlobalIdEntry> registryEntries, ServiceConfigHolder config) {

    Map<String, GlobalIdDesc> result = new HashMap<String, GlobalIdDesc>();
    Set<String> supportedGlobalId = null;
    Set<String> supportedLocales = null;
    if (config != null) {
      supportedGlobalId = config.getSupportedGlobalId();
      supportedLocales = config.getSupportedLocales();
    }
    for (GlobalIdEntry entry : registryEntries) {
      String id = entry.getId();
      boolean isDefaultRegistryEntry = entry.isDefaultGlobalId();
      boolean supported;
      if (supportedGlobalId == null || supportedGlobalId.isEmpty()) {
        // No configured list implies all IDs are supported.
        supported = true;
      } else if (isDefaultRegistryEntry) {
        supported = true;
      } else {
        supported = (supportedGlobalId.contains(id));
      }
      GlobalIdDesc idDesc = new GlobalIdDesc(entry, supported, supportedLocales);
      if (isDefaultRegistryEntry) {
        result.put(SOAConstants.DEFAULT_GLOBAL_ID, idDesc);
      } else {
        result.put(id, idDesc);
      }
    }
    return result;
  }