code: public String get(Locale[] locales, String key, Object... args) {
          for (Locale locale : locales) {
              I18nExtension extension = getExtension(locale, key);
              if (extension != null) {
                  return extension.get(key, args);
              }
          }
          // Use default.
          I18nExtension extension = getExtension(InternationalizationService.DEFAULT_LOCALE, key);
          if (extension != null) {
              return extension.get(key, args);
          }
  
          return null;
      }
docs: Gets the message identified by `key` for the first locale from the given set of locale that provide a value.
  The message can be parameterized using  `args`, applied to the message using  {@link java.text.MessageFormat}.
  If the message is not provided for the given locales, the default locale is tried. If the message is still not
  provided, {@literal null} is returned.
  
  @param locales the ordered set of locales
  @param key     the key
  @param args    the arguments (optional)
  @return the formatted internationalized message