code: private static ResourceBundle tryBundle(String baseName, Locale locale, boolean wantBase) {
  
          I_CmsResourceBundle first = null; // The most specialized bundle.
          I_CmsResourceBundle last = null; // The least specialized bundle.
  
          List<String> bundleNames = CmsLocaleManager.getLocaleVariants(baseName, locale, true, true);
          for (String bundleName : bundleNames) {
              // break if we would try the base bundle, but we do not want it directly
              if (bundleName.equals(baseName) && !wantBase && (first == null)) {
                  break;
              }
              I_CmsResourceBundle foundBundle = tryBundle(bundleName);
              if (foundBundle != null) {
                  if (first == null) {
                      first = foundBundle;
                  }
  
                  if (last != null) {
                      last.setParent((ResourceBundle)foundBundle);
                  }
                  foundBundle.setLocale(locale);
  
                  last = foundBundle;
              }
          }
          return (ResourceBundle)first;
      }
docs: Tries to load a the bundle for a given locale, also loads the backup
  locales with the same language.
  
  @param baseName the raw bundle name, without locale qualifiers
  @param locale the locale
  @param wantBase whether a resource bundle made only from the base name
  (with no locale information attached) should be returned.
  @return the resource bundle if it was loaded, otherwise the backup