code: public List<String> readUrlNamesForAllLocales(CmsDbContext dbc, CmsUUID id) throws CmsDataAccessException {
  
          List<String> result = new ArrayList<String>();
          List<CmsUrlNameMappingEntry> entries = getVfsDriver(dbc).readUrlNameMappingEntries(
              dbc,
              dbc.currentProject().isOnlineProject(),
              CmsUrlNameMappingFilter.ALL.filterStructureId(id));
          ArrayListMultimap<String, CmsUrlNameMappingEntry> entriesByLocale = ArrayListMultimap.create();
          for (CmsUrlNameMappingEntry entry : entries) {
              String localeKey = entry.getLocale();
              entriesByLocale.put(localeKey, entry);
          }
  
          for (String localeKey : entriesByLocale.keySet()) {
              List<CmsUrlNameMappingEntry> entrs = entriesByLocale.get(localeKey);
              CmsUrlNameMappingEntry maxEntryForLocale = Collections.max(entrs, new UrlNameMappingComparator());
              result.add(maxEntryForLocale.getName());
          }
          return result;
      }
docs: Reads the newest URL names of a resource for all locales.<p>
  
  @param dbc the database context
  @param id the resource's structure id
  
  @return the url names for the locales
  
  @throws CmsDataAccessException if the database operation failed