code: public static Object registerFactory(NumberFormatFactory factory) {
          if (factory == null) {
              throw new IllegalArgumentException("factory must not be null");
          }
          return getShim().registerFactory(factory);
      }
docs: <strong>[icu]</strong> Registers a new NumberFormatFactory.  The factory is adopted by
  the service and must not be modified.  The returned object is a
  key that can be used to unregister this factory.
  
  <p>Because ICU may choose to cache NumberFormat objects internally, this must
  be called at application startup, prior to any calls to
  NumberFormat.getInstance to avoid undefined behavior.
  
  @param factory the factory to register
  @return a key with which to unregister the factory
  @hide unsupported on Android