code: protected List<ULocale> guessLocales() {
          if (implicitLocales == null) {
              List<ULocale> result = new ArrayList<ULocale>(1);
              result.add(ULocale.getDefault());
              implicitLocales = processLocales(result);
          }
          return implicitLocales;
      }
docs: This function can be overridden by subclasses to use different heuristics
  <b>It MUST return a 'safe' value,
  one whose modification will not affect this object.</b>
  
  @hide draft / provisional / internal are hidden on Android