code: public final ULocale getLocale(ULocale.Type type) {
          return type == ULocale.ACTUAL_LOCALE ?
              this.actualLocale : this.validLocale;
      }
docs: Returns the locale that was used to create this object, or null.
  This may may differ from the locale requested at the time of
  this object's creation.  For example, if an object is created
  for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
  drawn from <tt>en</tt> (the <i>actual</i> locale), and
  <tt>en_US</tt> may be the most specific locale that exists (the
  <i>valid</i> locale).
  
  <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
  contains a partial preview implementation.  The * <i>actual</i>
  locale is returned correctly, but the <i>valid</i> locale is
  not, in most cases.
  @param type type of information requested, either {@link
  android.icu.util.ULocale#VALID_LOCALE} or {@link
  android.icu.util.ULocale#ACTUAL_LOCALE}.
  @return the information specified by <i>type</i>, or null if
  this object was not constructed from locale data.
  @see android.icu.util.ULocale
  @see android.icu.util.ULocale#VALID_LOCALE
  @see android.icu.util.ULocale#ACTUAL_LOCALE
  @hide draft / provisional / internal are hidden on Android