public abstract class sun.util.locale.provider.AuxLocaleProviderAdapter extends sun.util.locale.provider.LocaleProviderAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.util.locale.provider.AuxLocaleProviderAdapter
  super_class: sun.util.locale.provider.LocaleProviderAdapter
{
  private java.util.concurrent.ConcurrentMap<java.lang.Class<? extends java.util.spi.LocaleServiceProvider>, java.util.spi.LocaleServiceProvider> providersMap;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<+Ljava/util/spi/LocaleServiceProvider;>;Ljava/util/spi/LocaleServiceProvider;>;

  private static java.util.Locale[] availableLocales;
    descriptor: [Ljava/util/Locale;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider NULL_PROVIDER;
    descriptor: Lsun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 157
            aconst_null
            putstatic sun.util.locale.provider.AuxLocaleProviderAdapter.availableLocales:[Ljava/util/Locale;
         1: .line 181
            new sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider
            dup
            invokespecial sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider.<init>:()V
            putstatic sun.util.locale.provider.AuxLocaleProviderAdapter.NULL_PROVIDER:Lsun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 55
            aload 0 /* this */
            invokespecial sun.util.locale.provider.LocaleProviderAdapter.<init>:()V
         1: .line 59
            aload 0 /* this */
         2: .line 60
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.util.locale.provider.AuxLocaleProviderAdapter.providersMap:Ljava/util/concurrent/ConcurrentMap;
         3: .line 55
            return
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public <P extends java.util.spi.LocaleServiceProvider> P getLocaleServiceProvider(java.lang.Class<P>);
    descriptor: (Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
        start local 1 // java.lang.Class c
         0: .line 68
            aload 0 /* this */
            getfield sun.util.locale.provider.AuxLocaleProviderAdapter.providersMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* c */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.spi.LocaleServiceProvider
            astore 2 /* lsp */
        start local 2 // java.util.spi.LocaleServiceProvider lsp
         1: .line 69
            aload 2 /* lsp */
            ifnonnull 6
         2: .line 70
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.findInstalledProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            astore 2 /* lsp */
         3: .line 71
            aload 0 /* this */
            getfield sun.util.locale.provider.AuxLocaleProviderAdapter.providersMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* c */
            aload 2 /* lsp */
            ifnonnull 4
            getstatic sun.util.locale.provider.AuxLocaleProviderAdapter.NULL_PROVIDER:Lsun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider;
            goto 5
      StackMap locals: sun.util.locale.provider.AuxLocaleProviderAdapter java.lang.Class java.util.spi.LocaleServiceProvider
      StackMap stack: java.util.concurrent.ConcurrentMap java.lang.Class
         4: aload 2 /* lsp */
      StackMap locals: sun.util.locale.provider.AuxLocaleProviderAdapter java.lang.Class java.util.spi.LocaleServiceProvider
      StackMap stack: java.util.concurrent.ConcurrentMap java.lang.Class java.util.spi.LocaleServiceProvider
         5: invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 74
      StackMap locals:
      StackMap stack:
            aload 2 /* lsp */
            areturn
        end local 2 // java.util.spi.LocaleServiceProvider lsp
        end local 1 // java.lang.Class c
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;
            0    7     1     c  Ljava/lang/Class<TP;>;
            1    7     2   lsp  TP;
    Signature: <P:Ljava/util/spi/LocaleServiceProvider;>(Ljava/lang/Class<TP;>;)TP;
    MethodParameters:
      Name  Flags
      c     

  protected abstract <P extends java.util.spi.LocaleServiceProvider> P findInstalledProvider(java.lang.Class<P>);
    descriptor: (Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: <P:Ljava/util/spi/LocaleServiceProvider;>(Ljava/lang/Class<TP;>;)TP;
    MethodParameters:
      Name  Flags
      c     final

  public java.text.spi.BreakIteratorProvider getBreakIteratorProvider();
    descriptor: ()Ljava/text/spi/BreakIteratorProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 88
            aload 0 /* this */
            ldc Ljava/text/spi/BreakIteratorProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.BreakIteratorProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.text.spi.CollatorProvider getCollatorProvider();
    descriptor: ()Ljava/text/spi/CollatorProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 93
            aload 0 /* this */
            ldc Ljava/text/spi/CollatorProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.CollatorProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.text.spi.DateFormatProvider getDateFormatProvider();
    descriptor: ()Ljava/text/spi/DateFormatProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 98
            aload 0 /* this */
            ldc Ljava/text/spi/DateFormatProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.DateFormatProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.text.spi.DateFormatSymbolsProvider getDateFormatSymbolsProvider();
    descriptor: ()Ljava/text/spi/DateFormatSymbolsProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 103
            aload 0 /* this */
            ldc Ljava/text/spi/DateFormatSymbolsProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.DateFormatSymbolsProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.text.spi.DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider();
    descriptor: ()Ljava/text/spi/DecimalFormatSymbolsProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 108
            aload 0 /* this */
            ldc Ljava/text/spi/DecimalFormatSymbolsProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.DecimalFormatSymbolsProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.text.spi.NumberFormatProvider getNumberFormatProvider();
    descriptor: ()Ljava/text/spi/NumberFormatProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 113
            aload 0 /* this */
            ldc Ljava/text/spi/NumberFormatProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.text.spi.NumberFormatProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.util.spi.CurrencyNameProvider getCurrencyNameProvider();
    descriptor: ()Ljava/util/spi/CurrencyNameProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 121
            aload 0 /* this */
            ldc Ljava/util/spi/CurrencyNameProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.util.spi.CurrencyNameProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.util.spi.LocaleNameProvider getLocaleNameProvider();
    descriptor: ()Ljava/util/spi/LocaleNameProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 126
            aload 0 /* this */
            ldc Ljava/util/spi/LocaleNameProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.util.spi.LocaleNameProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.util.spi.TimeZoneNameProvider getTimeZoneNameProvider();
    descriptor: ()Ljava/util/spi/TimeZoneNameProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 131
            aload 0 /* this */
            ldc Ljava/util/spi/TimeZoneNameProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.util.spi.TimeZoneNameProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.util.spi.CalendarDataProvider getCalendarDataProvider();
    descriptor: ()Ljava/util/spi/CalendarDataProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 136
            aload 0 /* this */
            ldc Ljava/util/spi/CalendarDataProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.util.spi.CalendarDataProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public java.util.spi.CalendarNameProvider getCalendarNameProvider();
    descriptor: ()Ljava/util/spi/CalendarNameProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 141
            aload 0 /* this */
            ldc Ljava/util/spi/CalendarNameProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast java.util.spi.CalendarNameProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public sun.util.spi.CalendarProvider getCalendarProvider();
    descriptor: ()Lsun/util/spi/CalendarProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 149
            aload 0 /* this */
            ldc Lsun/util/spi/CalendarProvider;
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            checkcast sun.util.spi.CalendarProvider
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;

  public sun.util.locale.provider.LocaleResources getLocaleResources(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Lsun/util/locale/provider/LocaleResources;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
        start local 1 // java.util.Locale locale
         0: .line 154
            aconst_null
            areturn
        end local 1 // java.util.Locale locale
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;
            0    1     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.util.Locale[] getAvailableLocales();
    descriptor: ()[Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
         0: .line 161
            getstatic sun.util.locale.provider.AuxLocaleProviderAdapter.availableLocales:[Ljava/util/Locale;
            ifnonnull 10
         1: .line 162
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* avail */
        start local 1 // java.util.Set avail
         2: .line 164
            getstatic sun.util.locale.provider.LocaleServiceProviderPool.spiClasses:[Ljava/lang/Class;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: sun.util.locale.provider.AuxLocaleProviderAdapter java.util.Set top int int java.lang.Class[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* c */
        start local 2 // java.lang.Class c
         4: .line 165
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider:(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;
            astore 6 /* lsp */
        start local 6 // java.util.spi.LocaleServiceProvider lsp
         5: .line 166
            aload 6 /* lsp */
            ifnull 7
         6: .line 167
            aload 1 /* avail */
            aload 6 /* lsp */
            invokevirtual java.util.spi.LocaleServiceProvider.getAvailableLocales:()[Ljava/util/Locale;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.util.spi.LocaleServiceProvider lsp
        end local 2 // java.lang.Class c
         7: .line 163
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 3
         9: .line 170
            aload 1 /* avail */
            iconst_0
            anewarray java.util.Locale
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.util.Locale[]
            putstatic sun.util.locale.provider.AuxLocaleProviderAdapter.availableLocales:[Ljava/util/Locale;
        end local 1 // java.util.Set avail
        10: .line 174
      StackMap locals: sun.util.locale.provider.AuxLocaleProviderAdapter
      StackMap stack:
            getstatic sun.util.locale.provider.AuxLocaleProviderAdapter.availableLocales:[Ljava/util/Locale;
            areturn
        end local 0 // sun.util.locale.provider.AuxLocaleProviderAdapter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/util/locale/provider/AuxLocaleProviderAdapter;
            2   10     1  avail  Ljava/util/Set<Ljava/util/Locale;>;
            4    7     2      c  Ljava/lang/Class<+Ljava/util/spi/LocaleServiceProvider;>;
            5    7     6    lsp  Ljava/util/spi/LocaleServiceProvider;
}
SourceFile: "AuxLocaleProviderAdapter.java"
NestMembers:
  sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider
InnerClasses:
  private NullProvider = sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider of sun.util.locale.provider.AuxLocaleProviderAdapter