code: @Deprecated
      public RbnfLenientScanner get(ULocale locale, String extras) {
          RbnfLenientScanner result = null;
          String key = locale.toString() + "/" + extras;
          synchronized(cache) {
              result = cache.get(key);
              if (result != null) {
                  return result;
              }
          }
          result = createScanner(locale, extras);
          synchronized(cache) {
              cache.put(key, result);
          }
          return result;
      }
docs: Returns a collation-based scanner.
  
  Only primary differences are treated as significant.  This means that case
  differences, accent differences, alternate spellings of the same letter
  (e.g., ae and a-umlaut in German), ignorable characters, etc. are ignored in
  matching the text.  In many cases, numerals will be accepted in place of words
  or phrases as well.
  
  For example, all of the following will correctly parse as 255 in English in
  lenient-parse mode:
  <br>"two hundred fifty-five"
  <br>"two hundred fifty five"
  <br>"TWO HUNDRED FIFTY-FIVE"
  <br>"twohundredfiftyfive"
  <br>"2 hundred fifty-5"
  
  The Collator used is determined by the locale that was
  passed to this object on construction.  The description passed to this object
  on construction may supply additional collation rules that are appended to the
  end of the default collator for the locale, enabling additional equivalences
  (such as adding more ignorable characters or permitting spelled-out version of
  symbols; see the demo program for examples).
  
  It's important to emphasize that even strict parsing is relatively lenient: it
  will accept some text that it won't produce as output.  In English, for example,
  it will correctly parse "two hundred zero" and "fifteen hundred".
  
  @deprecated This API is ICU internal only.
  @hide draft / provisional / internal are hidden on Android