code: public String readBestUrlName(CmsRequestContext context, CmsUUID id, Locale locale, List<Locale> defaultLocales)
      throws CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          try {
              return m_driverManager.readBestUrlName(dbc, id, locale, defaultLocales);
          } catch (Exception e) {
              CmsMessageContainer message = Messages.get().container(
                  Messages.ERR_READ_NEWEST_URLNAME_FOR_ID_1,
                  id.toString());
              dbc.report(null, message, e);
              return null; // will never be reached
          } finally {
              dbc.clear();
          }
      }
docs: Reads the newest URL name which is mapped to the given structure id.<p>
  
  If the structure id is not mapped to any name, null will be returned.<p>
  
  @param context the request context
  @param id the structure id for which the newest mapped name should be returned
  @param locale the locale for the mapping
  @param defaultLocales the default locales to use if there is no URL name mapping for the requested locale
  
  @return an URL name or null
  
  @throws CmsException if something goes wrong