code: @Deprecated
      public static BreakIterator getBreakInstance(ULocale where, int kind) {
          if (where == null) {
              throw new NullPointerException("Specified locale is null");
          }
          if (iterCache[kind] != null) {
              BreakIteratorCache cache = (BreakIteratorCache)iterCache[kind].get();
              if (cache != null) {
                  if (cache.getLocale().equals(where)) {
                      return cache.createBreakInstance();
                  }
              }
          }
  
          // sigh, all to avoid linking in ICULocaleData...
          BreakIterator result = getShim().createBreakIterator(where, kind);
  
          BreakIteratorCache cache = new BreakIteratorCache(where, result);
          iterCache[kind] = CacheValue.getInstance(cache);
          if (result instanceof RuleBasedBreakIterator) {
              RuleBasedBreakIterator rbbi = (RuleBasedBreakIterator)result;
              rbbi.setBreakType(kind);
          }
  
          return result;
      }
docs: Returns a particular kind of BreakIterator for a locale.
  Avoids writing a switch statement with getXYZInstance(where) calls.
  @deprecated This API is ICU internal only.
  @hide original deprecated declaration
  @hide draft / provisional / internal are hidden on Android