code: @SuppressWarnings("unchecked")
      public static <T> T get(Class<T> clazz, String localeStr) throws IOException {
          if(clazz == null) {
              throw new IllegalArgumentException("Class cannot be null.");
          }
          ULocale locale = null;
          if(localeStr != null && !localeStr.isEmpty()) {
              locale = ULocale.createCanonical(localeStr);
          }
          LocaleMapKey key = new LocaleMapKey(clazz.getName(), locale);
          T proxy = (T) cache.get(key);
          if(proxy == null) {
              proxy = createProxy(clazz, locale);
              cache.put(key, proxy);
          }
          return proxy;
      }
docs: For a given interface and locale ,retrieves the GWT i18n interface as a
  dynamic proxy for use on the server-side. If no locale is given, the
  default properties file will be loaded. This method caches proxy classes
  that it has created so it is safe to call multiple times. Locale IDs
  are case-sensitive (i.e. en_us is not the same as en_US).
  
  @param clazz The GWT i18n interface to get the proxy for.
  @param localeStr The locale ID string for the locale being requested.
  @return A dynamic proxy representing the given GWT i18n interface and
  locale.
  @throws IOException If an error occurs finding, opening, or reading the
  GWT properties file associated with the given interface.