public final class sun.security.jgss.ProviderList
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.jgss.ProviderList
  super_class: java.lang.Object
{
  private static final java.lang.String PROV_PROP_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "GssApiMechanism."

  private static final int PROV_PROP_PREFIX_LEN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SPI_MECH_FACTORY_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.security.jgss.spi.MechanismFactory"

  private static final java.lang.String DEFAULT_MECH_PROP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.security.jgss.mechanism"

  public static final org.ietf.jgss.Oid DEFAULT_MECH_OID;
    descriptor: Lorg/ietf/jgss/Oid;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private java.util.ArrayList<sun.security.jgss.ProviderList$PreferencesEntry> preferences;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/security/jgss/ProviderList$PreferencesEntry;>;

  private java.util.HashMap<sun.security.jgss.ProviderList$PreferencesEntry, sun.security.jgss.spi.MechanismFactory> factories;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Lsun/security/jgss/ProviderList$PreferencesEntry;Lsun/security/jgss/spi/MechanismFactory;>;

  private java.util.HashSet<org.ietf.jgss.Oid> mechs;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Lorg/ietf/jgss/Oid;>;

  private final sun.security.jgss.GSSCaller caller;
    descriptor: Lsun/security/jgss/GSSCaller;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 91
            ldc "GssApiMechanism."
            invokevirtual java.lang.String.length:()I
         1: .line 90
            putstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
         2: .line 108
            aconst_null
            astore 0 /* defOid */
        start local 0 // org.ietf.jgss.Oid defOid
         3: .line 110
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.security.jgss.mechanism"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 109
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* defaultOidStr */
        start local 1 // java.lang.String defaultOidStr
         5: .line 111
            aload 1 /* defaultOidStr */
            ifnull 7
         6: .line 112
            aload 1 /* defaultOidStr */
            invokestatic sun.security.jgss.GSSUtil.createOid:(Ljava/lang/String;)Lorg/ietf/jgss/Oid;
            astore 0 /* defOid */
         7: .line 115
      StackMap locals: org.ietf.jgss.Oid java.lang.String
      StackMap stack:
            aload 0 /* defOid */
            ifnonnull 8
            getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* defOid */
         9: .line 114
      StackMap locals:
      StackMap stack: org.ietf.jgss.Oid
            putstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
        end local 1 // java.lang.String defaultOidStr
        end local 0 // org.ietf.jgss.Oid defOid
        10: .line 116
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            3   10     0         defOid  Lorg/ietf/jgss/Oid;
            5   10     1  defaultOidStr  Ljava/lang/String;

  public void <init>(sun.security.jgss.GSSCaller, boolean);
    descriptor: (Lsun/security/jgss/GSSCaller;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // sun.security.jgss.GSSCaller caller
        start local 2 // boolean useNative
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 0 /* this */
         2: .line 119
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
         3: .line 120
            aload 0 /* this */
         4: .line 121
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
         5: .line 122
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            putfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
         6: .line 127
            aload 0 /* this */
            aload 1 /* caller */
            putfield sun.security.jgss.ProviderList.caller:Lsun/security/jgss/GSSCaller;
         7: .line 129
            iload 2 /* useNative */
            ifeq 11
         8: .line 130
            iconst_1
            anewarray java.security.Provider
            astore 3 /* provList */
        start local 3 // java.security.Provider[] provList
         9: .line 131
            aload 3 /* provList */
            iconst_0
            new sun.security.jgss.wrapper.SunNativeProvider
            dup
            invokespecial sun.security.jgss.wrapper.SunNativeProvider.<init>:()V
            aastore
        10: .line 132
            goto 12
        end local 3 // java.security.Provider[] provList
        11: .line 133
      StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.GSSCaller int
      StackMap stack:
            invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
            astore 3 /* provList */
        start local 3 // java.security.Provider[] provList
        12: .line 136
      StackMap locals: java.security.Provider[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 22
        14: .line 137
      StackMap locals: int
      StackMap stack:
            aload 3 /* provList */
            iload 4 /* i */
            aaload
            astore 5 /* prov */
        start local 5 // java.security.Provider prov
        15: .line 139
            aload 0 /* this */
            aload 5 /* prov */
            aconst_null
            invokevirtual sun.security.jgss.ProviderList.addProviderAtEnd:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
        16: .line 140
            goto 21
      StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.GSSCaller int java.security.Provider[] int java.security.Provider
      StackMap stack: org.ietf.jgss.GSSException
        17: astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        18: .line 142
            new java.lang.StringBuilder
            dup
            ldc "Error in adding provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 143
            aload 5 /* prov */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ge */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 142
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.jgss.GSSUtil.debug:(Ljava/lang/String;)V
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.Provider prov
        21: .line 136
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* provList */
            arraylength
            if_icmplt 14
        end local 4 // int i
        23: .line 146
            return
        end local 3 // java.security.Provider[] provList
        end local 2 // boolean useNative
        end local 1 // sun.security.jgss.GSSCaller caller
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lsun/security/jgss/ProviderList;
            0   24     1     caller  Lsun/security/jgss/GSSCaller;
            0   24     2  useNative  Z
            9   11     3   provList  [Ljava/security/Provider;
           12   24     3   provList  [Ljava/security/Provider;
           13   23     4          i  I
           15   21     5       prov  Ljava/security/Provider;
           18   21     6         ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
          15    16      17  Class org.ietf.jgss.GSSException
    MethodParameters:
           Name  Flags
      caller     
      useNative  

  private boolean isMechFactoryProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // java.lang.String prop
         0: .line 154
            aload 1 /* prop */
            ldc "GssApiMechanism."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         1: .line 155
            aload 1 /* prop */
            iconst_1
            iconst_0
         2: .line 156
            ldc "GssApiMechanism."
            iconst_0
         3: .line 157
            getstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
         4: .line 155
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
         5: .line 157
            ifne 7
         6: .line 154
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 1 // java.lang.String prop
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/jgss/ProviderList;
            0    8     1  prop  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      prop  

  private org.ietf.jgss.Oid getOidFromMechFactoryProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/ietf/jgss/Oid;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // java.lang.String prop
         0: .line 163
            aload 1 /* prop */
            getstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* oidPart */
        start local 2 // java.lang.String oidPart
         1: .line 164
            new org.ietf.jgss.Oid
            dup
            aload 2 /* oidPart */
            invokespecial org.ietf.jgss.Oid.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String oidPart
        end local 1 // java.lang.String prop
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/jgss/ProviderList;
            0    2     1     prop  Ljava/lang/String;
            1    2     2  oidPart  Ljava/lang/String;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
      Name  Flags
      prop  

  public synchronized sun.security.jgss.spi.MechanismFactory getMechFactory(org.ietf.jgss.Oid);
    descriptor: (Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // org.ietf.jgss.Oid mechOid
         0: .line 170
            aload 1 /* mechOid */
            ifnonnull 1
            getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
            astore 1 /* mechOid */
         1: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mechOid */
            aconst_null
            invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lorg/ietf/jgss/Oid;Ljava/security/Provider;)Lsun/security/jgss/spi/MechanismFactory;
            areturn
        end local 1 // org.ietf.jgss.Oid mechOid
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/jgss/ProviderList;
            0    2     1  mechOid  Lorg/ietf/jgss/Oid;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      mechOid  

  public synchronized sun.security.jgss.spi.MechanismFactory getMechFactory(org.ietf.jgss.Oid, java.security.Provider);
    descriptor: (Lorg/ietf/jgss/Oid;Ljava/security/Provider;)Lsun/security/jgss/spi/MechanismFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // org.ietf.jgss.Oid mechOid
        start local 2 // java.security.Provider p
         0: .line 189
            aload 1 /* mechOid */
            ifnonnull 1
            getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
            astore 1 /* mechOid */
         1: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            ifnonnull 10
         2: .line 196
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4 /* list */
        start local 4 // java.util.Iterator list
         3: .line 197
            goto 8
         4: .line 198
      StackMap locals: sun.security.jgss.ProviderList org.ietf.jgss.Oid java.security.Provider top java.util.Iterator
      StackMap stack:
            aload 4 /* list */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.jgss.ProviderList$PreferencesEntry
            astore 3 /* entry */
        start local 3 // sun.security.jgss.ProviderList$PreferencesEntry entry
         5: .line 199
            aload 3 /* entry */
            aload 1 /* mechOid */
            invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.impliesMechanism:(Lorg/ietf/jgss/Oid;)Z
            ifeq 8
         6: .line 200
            aload 0 /* this */
            aload 3 /* entry */
            aload 1 /* mechOid */
            invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
            astore 5 /* retVal */
        start local 5 // sun.security.jgss.spi.MechanismFactory retVal
         7: .line 201
            aload 5 /* retVal */
            ifnull 8
            aload 5 /* retVal */
            areturn
        end local 5 // sun.security.jgss.spi.MechanismFactory retVal
        end local 3 // sun.security.jgss.ProviderList$PreferencesEntry entry
         8: .line 197
      StackMap locals:
      StackMap stack:
            aload 4 /* list */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 204
            new sun.security.jgss.GSSExceptionImpl
            dup
            iconst_2
            aload 1 /* mechOid */
            invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILorg/ietf/jgss/Oid;)V
            athrow
        end local 4 // java.util.Iterator list
        10: .line 208
      StackMap locals: sun.security.jgss.ProviderList org.ietf.jgss.Oid java.security.Provider
      StackMap stack:
            new sun.security.jgss.ProviderList$PreferencesEntry
            dup
            aload 2 /* p */
            aload 1 /* mechOid */
            invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
            astore 3 /* entry */
        start local 3 // sun.security.jgss.ProviderList$PreferencesEntry entry
        11: .line 209
            aload 0 /* this */
            aload 3 /* entry */
            aload 1 /* mechOid */
            invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
            areturn
        end local 3 // sun.security.jgss.ProviderList$PreferencesEntry entry
        end local 2 // java.security.Provider p
        end local 1 // org.ietf.jgss.Oid mechOid
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/security/jgss/ProviderList;
            0   12     1  mechOid  Lorg/ietf/jgss/Oid;
            0   12     2        p  Ljava/security/Provider;
            5    8     3    entry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            3   10     4     list  Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
            7    8     5   retVal  Lsun/security/jgss/spi/MechanismFactory;
           11   12     3    entry  Lsun/security/jgss/ProviderList$PreferencesEntry;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      mechOid  
      p        

  private sun.security.jgss.spi.MechanismFactory getMechFactory(sun.security.jgss.ProviderList$PreferencesEntry, org.ietf.jgss.Oid);
    descriptor: (Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // sun.security.jgss.ProviderList$PreferencesEntry e
        start local 2 // org.ietf.jgss.Oid mechOid
         0: .line 226
            aload 1 /* e */
            invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.getProvider:()Ljava/security/Provider;
            astore 3 /* p */
        start local 3 // java.security.Provider p
         1: .line 232
            new sun.security.jgss.ProviderList$PreferencesEntry
            dup
            aload 3 /* p */
            aload 2 /* mechOid */
            invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
            astore 4 /* searchEntry */
        start local 4 // sun.security.jgss.ProviderList$PreferencesEntry searchEntry
         2: .line 233
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
            aload 4 /* searchEntry */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.jgss.spi.MechanismFactory
            astore 5 /* retVal */
        start local 5 // sun.security.jgss.spi.MechanismFactory retVal
         3: .line 234
            aload 5 /* retVal */
            ifnonnull 16
         4: .line 239
            new java.lang.StringBuilder
            dup
            ldc "GssApiMechanism."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* mechOid */
            invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* prop */
        start local 6 // java.lang.String prop
         5: .line 240
            aload 3 /* p */
            aload 6 /* prop */
            invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* className */
        start local 7 // java.lang.String className
         6: .line 241
            aload 7 /* className */
            ifnull 10
         7: .line 242
            aload 3 /* p */
            aload 7 /* className */
            aload 2 /* mechOid */
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.caller:Lsun/security/jgss/GSSCaller;
            invokestatic sun.security.jgss.ProviderList.getMechFactoryImpl:(Ljava/security/Provider;Ljava/lang/String;Lorg/ietf/jgss/Oid;Lsun/security/jgss/GSSCaller;)Lsun/security/jgss/spi/MechanismFactory;
            astore 5 /* retVal */
         8: .line 243
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
            aload 4 /* searchEntry */
            aload 5 /* retVal */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 244
            goto 16
        10: .line 251
      StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.ProviderList$PreferencesEntry org.ietf.jgss.Oid java.security.Provider sun.security.jgss.ProviderList$PreferencesEntry sun.security.jgss.spi.MechanismFactory java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* e */
            invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.getOid:()Lorg/ietf/jgss/Oid;
            ifnull 16
        11: .line 252
            new sun.security.jgss.GSSExceptionImpl
            dup
            iconst_2
        12: .line 253
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 254
            ldc " does not support mechanism "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* mechOid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        14: .line 253
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 252
            invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
            athrow
        end local 7 // java.lang.String className
        end local 6 // java.lang.String prop
        16: .line 258
      StackMap locals:
      StackMap stack:
            aload 5 /* retVal */
            areturn
        end local 5 // sun.security.jgss.spi.MechanismFactory retVal
        end local 4 // sun.security.jgss.ProviderList$PreferencesEntry searchEntry
        end local 3 // java.security.Provider p
        end local 2 // org.ietf.jgss.Oid mechOid
        end local 1 // sun.security.jgss.ProviderList$PreferencesEntry e
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lsun/security/jgss/ProviderList;
            0   17     1            e  Lsun/security/jgss/ProviderList$PreferencesEntry;
            0   17     2      mechOid  Lorg/ietf/jgss/Oid;
            1   17     3            p  Ljava/security/Provider;
            2   17     4  searchEntry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            3   17     5       retVal  Lsun/security/jgss/spi/MechanismFactory;
            5   16     6         prop  Ljava/lang/String;
            6   16     7    className  Ljava/lang/String;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      e        
      mechOid  

  private static sun.security.jgss.spi.MechanismFactory getMechFactoryImpl(java.security.Provider, java.lang.String, org.ietf.jgss.Oid, sun.security.jgss.GSSCaller);
    descriptor: (Ljava/security/Provider;Ljava/lang/String;Lorg/ietf/jgss/Oid;Lsun/security/jgss/GSSCaller;)Lsun/security/jgss/spi/MechanismFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // java.security.Provider p
        start local 1 // java.lang.String className
        start local 2 // org.ietf.jgss.Oid mechOid
        start local 3 // sun.security.jgss.GSSCaller caller
         0: .line 278
            ldc "sun.security.jgss.spi.MechanismFactory"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* baseClass */
        start local 4 // java.lang.Class baseClass
         1: .line 290
            aload 0 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 5 /* cl */
        start local 5 // java.lang.ClassLoader cl
         2: .line 292
            aload 5 /* cl */
            ifnull 5
         3: .line 293
            aload 5 /* cl */
            aload 1 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* implClass */
        start local 6 // java.lang.Class implClass
         4: .line 294
            goto 6
        end local 6 // java.lang.Class implClass
         5: .line 295
      StackMap locals: java.lang.Class java.lang.ClassLoader
      StackMap stack:
            aload 1 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* implClass */
        start local 6 // java.lang.Class implClass
         6: .line 298
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* baseClass */
            aload 6 /* implClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 14
         7: .line 301
            aload 6 /* implClass */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lsun/security/jgss/GSSCaller;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         8: .line 300
            astore 7 /* c */
        start local 7 // java.lang.reflect.Constructor c
         9: .line 302
            aload 7 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* caller */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.jgss.spi.MechanismFactory
            astore 8 /* mf */
        start local 8 // sun.security.jgss.spi.MechanismFactory mf
        10: .line 304
            aload 8 /* mf */
            instanceof sun.security.jgss.wrapper.NativeGSSFactory
            ifeq 12
        11: .line 305
            aload 8 /* mf */
            checkcast sun.security.jgss.wrapper.NativeGSSFactory
            aload 2 /* mechOid */
            invokevirtual sun.security.jgss.wrapper.NativeGSSFactory.setMech:(Lorg/ietf/jgss/Oid;)V
        12: .line 307
      StackMap locals: java.lang.reflect.Constructor sun.security.jgss.spi.MechanismFactory
      StackMap stack:
            aload 8 /* mf */
        13: areturn
        end local 8 // sun.security.jgss.spi.MechanismFactory mf
        end local 7 // java.lang.reflect.Constructor c
        14: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            aload 1 /* className */
            ldc "is not a sun.security.jgss.spi.MechanismFactory"
        15: .line 310
            aconst_null
        16: .line 309
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 6 // java.lang.Class implClass
        end local 5 // java.lang.ClassLoader cl
        end local 4 // java.lang.Class baseClass
        17: .line 312
      StackMap locals: java.security.Provider java.lang.String org.ietf.jgss.Oid sun.security.jgss.GSSCaller
      StackMap stack: java.lang.ClassNotFoundException
            astore 4 /* e */
        start local 4 // java.lang.ClassNotFoundException e
        18: .line 313
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.ClassNotFoundException e
        19: .line 314
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 4 /* e */
        start local 4 // java.lang.NoSuchMethodException e
        20: .line 315
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.NoSuchMethodException e
        21: .line 316
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 4 /* e */
        start local 4 // java.lang.reflect.InvocationTargetException e
        22: .line 317
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.reflect.InvocationTargetException e
        23: .line 318
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 4 /* e */
        start local 4 // java.lang.InstantiationException e
        24: .line 319
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.InstantiationException e
        25: .line 320
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
        26: .line 321
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.IllegalAccessException e
        27: .line 322
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 4 /* e */
        start local 4 // java.lang.SecurityException e
        28: .line 323
            aload 0 /* p */
            aload 1 /* className */
            ldc "cannot be created"
            aload 4 /* e */
            invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
            athrow
        end local 4 // java.lang.SecurityException e
        end local 3 // sun.security.jgss.GSSCaller caller
        end local 2 // org.ietf.jgss.Oid mechOid
        end local 1 // java.lang.String className
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0          p  Ljava/security/Provider;
            0   29     1  className  Ljava/lang/String;
            0   29     2    mechOid  Lorg/ietf/jgss/Oid;
            0   29     3     caller  Lsun/security/jgss/GSSCaller;
            1   17     4  baseClass  Ljava/lang/Class<*>;
            2   17     5         cl  Ljava/lang/ClassLoader;
            4    5     6  implClass  Ljava/lang/Class<*>;
            6   17     6  implClass  Ljava/lang/Class<*>;
            9   14     7          c  Ljava/lang/reflect/Constructor<*>;
           10   14     8         mf  Lsun/security/jgss/spi/MechanismFactory;
           18   19     4          e  Ljava/lang/ClassNotFoundException;
           20   21     4          e  Ljava/lang/NoSuchMethodException;
           22   23     4          e  Ljava/lang/reflect/InvocationTargetException;
           24   25     4          e  Ljava/lang/InstantiationException;
           26   27     4          e  Ljava/lang/IllegalAccessException;
           28   29     4          e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           0    13      17  Class java.lang.ClassNotFoundException
          14    17      17  Class java.lang.ClassNotFoundException
           0    13      19  Class java.lang.NoSuchMethodException
          14    17      19  Class java.lang.NoSuchMethodException
           0    13      21  Class java.lang.reflect.InvocationTargetException
          14    17      21  Class java.lang.reflect.InvocationTargetException
           0    13      23  Class java.lang.InstantiationException
          14    17      23  Class java.lang.InstantiationException
           0    13      25  Class java.lang.IllegalAccessException
          14    17      25  Class java.lang.IllegalAccessException
           0    13      27  Class java.lang.SecurityException
          14    17      27  Class java.lang.SecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
           Name  Flags
      p          
      className  
      mechOid    
      caller     

  private static org.ietf.jgss.GSSException createGSSException(java.security.Provider, java.lang.String, java.lang.String, java.lang.Exception);
    descriptor: (Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.security.Provider p
        start local 1 // java.lang.String className
        start local 2 // java.lang.String trailingMsg
        start local 3 // java.lang.Exception cause
         0: .line 332
            new java.lang.StringBuilder
            dup
            aload 1 /* className */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " configured by "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 333
            aload 0 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for GSS-API Mechanism Factory "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 332
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* errClassInfo */
        start local 4 // java.lang.String errClassInfo
         3: .line 334
            new sun.security.jgss.GSSExceptionImpl
            dup
            iconst_2
         4: .line 335
            new java.lang.StringBuilder
            dup
            aload 4 /* errClassInfo */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* trailingMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 336
            aload 3 /* cause */
         6: .line 334
            invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;Ljava/lang/Exception;)V
            areturn
        end local 4 // java.lang.String errClassInfo
        end local 3 // java.lang.Exception cause
        end local 2 // java.lang.String trailingMsg
        end local 1 // java.lang.String className
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0             p  Ljava/security/Provider;
            0    7     1     className  Ljava/lang/String;
            0    7     2   trailingMsg  Ljava/lang/String;
            0    7     3         cause  Ljava/lang/Exception;
            3    7     4  errClassInfo  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      p            
      className    
      trailingMsg  
      cause        

  public org.ietf.jgss.Oid[] getMechs();
    descriptor: ()[Lorg/ietf/jgss/Oid;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.jgss.ProviderList this
         0: .line 340
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
            iconst_0
            anewarray org.ietf.jgss.Oid
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.ietf.jgss.Oid[]
            areturn
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/jgss/ProviderList;

  public synchronized void addProviderAtFront(java.security.Provider, org.ietf.jgss.Oid);
    descriptor: (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // java.security.Provider p
        start local 2 // org.ietf.jgss.Oid mechOid
         0: .line 346
            new sun.security.jgss.ProviderList$PreferencesEntry
            dup
            aload 1 /* p */
            aload 2 /* mechOid */
            invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
            astore 3 /* newEntry */
        start local 3 // sun.security.jgss.ProviderList$PreferencesEntry newEntry
         1: .line 350
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6 /* list */
        start local 6 // java.util.Iterator list
         2: .line 351
            goto 6
         3: .line 352
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top top java.util.Iterator
      StackMap stack:
            aload 6 /* list */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.jgss.ProviderList$PreferencesEntry
            astore 4 /* oldEntry */
        start local 4 // sun.security.jgss.ProviderList$PreferencesEntry oldEntry
         4: .line 353
            aload 3 /* newEntry */
            aload 4 /* oldEntry */
            invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.implies:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 354
            aload 6 /* list */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // sun.security.jgss.ProviderList$PreferencesEntry oldEntry
         6: .line 351
      StackMap locals:
      StackMap stack:
            aload 6 /* list */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 357
            aload 2 /* mechOid */
            ifnonnull 10
         8: .line 358
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual sun.security.jgss.ProviderList.addAllMechsFromProvider:(Ljava/security/Provider;)Z
            istore 5 /* foundSomeMech */
        start local 5 // boolean foundSomeMech
         9: .line 359
            goto 20
        end local 5 // boolean foundSomeMech
        10: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* mechOid */
            invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
            astore 7 /* oidStr */
        start local 7 // java.lang.String oidStr
        11: .line 361
            aload 1 /* p */
            new java.lang.StringBuilder
            dup
            ldc "GssApiMechanism."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* oidStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 18
        12: .line 362
            new sun.security.jgss.GSSExceptionImpl
            dup
            iconst_2
        13: .line 363
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 364
            ldc " does not support "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 365
            aload 7 /* oidStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 363
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 362
            invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
            athrow
        18: .line 366
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
            aload 2 /* mechOid */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        19: .line 367
            iconst_1
            istore 5 /* foundSomeMech */
        end local 7 // java.lang.String oidStr
        start local 5 // boolean foundSomeMech
        20: .line 370
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top int java.util.Iterator
      StackMap stack:
            iload 5 /* foundSomeMech */
            ifeq 22
        21: .line 371
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
            iconst_0
            aload 3 /* newEntry */
            invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
        22: .line 373
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.Iterator list
        end local 5 // boolean foundSomeMech
        end local 3 // sun.security.jgss.ProviderList$PreferencesEntry newEntry
        end local 2 // org.ietf.jgss.Oid mechOid
        end local 1 // java.security.Provider p
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lsun/security/jgss/ProviderList;
            0   23     1              p  Ljava/security/Provider;
            0   23     2        mechOid  Lorg/ietf/jgss/Oid;
            1   23     3       newEntry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            4    6     4       oldEntry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            9   10     5  foundSomeMech  Z
           20   23     5  foundSomeMech  Z
            2   23     6           list  Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
           11   20     7         oidStr  Ljava/lang/String;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      p        
      mechOid  

  public synchronized void addProviderAtEnd(java.security.Provider, org.ietf.jgss.Oid);
    descriptor: (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // java.security.Provider p
        start local 2 // org.ietf.jgss.Oid mechOid
         0: .line 378
            new sun.security.jgss.ProviderList$PreferencesEntry
            dup
            aload 1 /* p */
            aload 2 /* mechOid */
            invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
            astore 3 /* newEntry */
        start local 3 // sun.security.jgss.ProviderList$PreferencesEntry newEntry
         1: .line 382
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6 /* list */
        start local 6 // java.util.Iterator list
         2: .line 383
            goto 6
         3: .line 384
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top top java.util.Iterator
      StackMap stack:
            aload 6 /* list */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.jgss.ProviderList$PreferencesEntry
            astore 4 /* oldEntry */
        start local 4 // sun.security.jgss.ProviderList$PreferencesEntry oldEntry
         4: .line 385
            aload 4 /* oldEntry */
            aload 3 /* newEntry */
            invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.implies:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 386
            return
        end local 4 // sun.security.jgss.ProviderList$PreferencesEntry oldEntry
         6: .line 383
      StackMap locals:
      StackMap stack:
            aload 6 /* list */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 391
            aload 2 /* mechOid */
            ifnonnull 10
         8: .line 392
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual sun.security.jgss.ProviderList.addAllMechsFromProvider:(Ljava/security/Provider;)Z
            istore 5 /* foundSomeMech */
        start local 5 // boolean foundSomeMech
         9: goto 20
        end local 5 // boolean foundSomeMech
        10: .line 394
      StackMap locals:
      StackMap stack:
            aload 2 /* mechOid */
            invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
            astore 7 /* oidStr */
        start local 7 // java.lang.String oidStr
        11: .line 395
            aload 1 /* p */
            new java.lang.StringBuilder
            dup
            ldc "GssApiMechanism."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* oidStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 18
        12: .line 396
            new sun.security.jgss.GSSExceptionImpl
            dup
            iconst_2
        13: .line 397
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 398
            ldc " does not support "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 399
            aload 7 /* oidStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 397
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 396
            invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
            athrow
        18: .line 400
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
            aload 2 /* mechOid */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        19: .line 401
            iconst_1
            istore 5 /* foundSomeMech */
        end local 7 // java.lang.String oidStr
        start local 5 // boolean foundSomeMech
        20: .line 404
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top int java.util.Iterator
      StackMap stack:
            iload 5 /* foundSomeMech */
            ifeq 22
        21: .line 405
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
            aload 3 /* newEntry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 407
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.Iterator list
        end local 5 // boolean foundSomeMech
        end local 3 // sun.security.jgss.ProviderList$PreferencesEntry newEntry
        end local 2 // org.ietf.jgss.Oid mechOid
        end local 1 // java.security.Provider p
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lsun/security/jgss/ProviderList;
            0   23     1              p  Ljava/security/Provider;
            0   23     2        mechOid  Lorg/ietf/jgss/Oid;
            1   23     3       newEntry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            4    6     4       oldEntry  Lsun/security/jgss/ProviderList$PreferencesEntry;
            9   10     5  foundSomeMech  Z
           20   23     5  foundSomeMech  Z
            2   23     6           list  Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
           11   20     7         oidStr  Ljava/lang/String;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      p        
      mechOid  

  private boolean addAllMechsFromProvider(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.jgss.ProviderList this
        start local 1 // java.security.Provider p
         0: .line 421
            iconst_0
            istore 3 /* retVal */
        start local 3 // boolean retVal
         1: .line 424
            aload 1 /* p */
            invokevirtual java.security.Provider.keys:()Ljava/util/Enumeration;
            astore 4 /* props */
        start local 4 // java.util.Enumeration props
         2: .line 427
            goto 13
         3: .line 428
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider top int java.util.Enumeration
      StackMap stack:
            aload 4 /* props */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* prop */
        start local 2 // java.lang.String prop
         4: .line 429
            aload 0 /* this */
            aload 2 /* prop */
            invokevirtual sun.security.jgss.ProviderList.isMechFactoryProperty:(Ljava/lang/String;)Z
            ifeq 13
         5: .line 432
            aload 0 /* this */
            aload 2 /* prop */
            invokevirtual sun.security.jgss.ProviderList.getOidFromMechFactoryProperty:(Ljava/lang/String;)Lorg/ietf/jgss/Oid;
            astore 5 /* mechOid */
        start local 5 // org.ietf.jgss.Oid mechOid
         6: .line 433
            aload 0 /* this */
            getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
            aload 5 /* mechOid */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 434
            iconst_1
            istore 3 /* retVal */
        end local 5 // org.ietf.jgss.Oid mechOid
         8: .line 435
            goto 13
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider java.lang.String int java.util.Enumeration
      StackMap stack: org.ietf.jgss.GSSException
         9: pop
        10: .line 437
            new java.lang.StringBuilder
            dup
            ldc "Ignore the invalid property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 438
            aload 2 /* prop */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " from provider "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 437
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.jgss.GSSUtil.debug:(Ljava/lang/String;)V
        end local 2 // java.lang.String prop
        13: .line 427
      StackMap locals: sun.security.jgss.ProviderList java.security.Provider top int java.util.Enumeration
      StackMap stack:
            aload 4 /* props */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        14: .line 443
            iload 3 /* retVal */
            ireturn
        end local 4 // java.util.Enumeration props
        end local 3 // boolean retVal
        end local 1 // java.security.Provider p
        end local 0 // sun.security.jgss.ProviderList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lsun/security/jgss/ProviderList;
            0   15     1        p  Ljava/security/Provider;
            4   13     2     prop  Ljava/lang/String;
            1   15     3   retVal  Z
            2   15     4    props  Ljava/util/Enumeration<Ljava/lang/Object;>;
            6    8     5  mechOid  Lorg/ietf/jgss/Oid;
      Exception table:
        from    to  target  type
           5     8       9  Class org.ietf.jgss.GSSException
    MethodParameters:
      Name  Flags
      p     
}
SourceFile: "ProviderList.java"
NestMembers:
  sun.security.jgss.ProviderList$PreferencesEntry
InnerClasses:
  private final PreferencesEntry = sun.security.jgss.ProviderList$PreferencesEntry of sun.security.jgss.ProviderList