class sun.security.pkcs11.SunPKCS11$3 implements java.security.PrivilegedAction<java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.pkcs11.SunPKCS11$3
  super_class: java.lang.Object
{
  final sun.security.pkcs11.SunPKCS11 this$0;
    descriptor: Lsun/security/pkcs11/SunPKCS11;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.util.Map val$supportedAlgs;
    descriptor: Ljava/util/Map;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final sun.security.pkcs11.Token val$token;
    descriptor: Lsun/security/pkcs11/Token;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.security.pkcs11.SunPKCS11, java.util.Map, sun.security.pkcs11.Token);
    descriptor: (Lsun/security/pkcs11/SunPKCS11;Ljava/util/Map;Lsun/security/pkcs11/Token;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.security.pkcs11.SunPKCS11$3 this
         0: .line 1028
            aload 0 /* this */
            aload 1
            putfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            aload 0 /* this */
            aload 2
            putfield sun.security.pkcs11.SunPKCS11$3.val$supportedAlgs:Ljava/util/Map;
            aload 0 /* this */
            aload 3
            putfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.pkcs11.SunPKCS11$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11$3;
    MethodParameters:
                   Name  Flags
      this$0             final
      val$supportedAlgs  final
      val$token          final

  public java.lang.Object run();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=6, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11$3 this
         0: .line 1031
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$supportedAlgs:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: sun.security.pkcs11.SunPKCS11$3 top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 1032
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.SunPKCS11$Descriptor
            astore 3 /* d */
        start local 3 // sun.security.pkcs11.SunPKCS11$Descriptor d
         3: .line 1033
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* mechanism */
        start local 4 // int mechanism
         4: .line 1034
            aload 3 /* d */
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            iload 4 /* mechanism */
            invokevirtual sun.security.pkcs11.SunPKCS11$Descriptor.service:(Lsun/security/pkcs11/Token;I)Lsun/security/pkcs11/SunPKCS11$P11Service;
            astore 5 /* s */
        start local 5 // java.security.Provider$Service s
         5: .line 1035
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            aload 5 /* s */
            invokestatic sun.security.pkcs11.SunPKCS11.access$0:(Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
        end local 5 // java.security.Provider$Service s
        end local 4 // int mechanism
        end local 3 // sun.security.pkcs11.SunPKCS11$Descriptor d
        end local 1 // java.util.Map$Entry entry
         6: .line 1030
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1037
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 14
         8: .line 1038
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            ldc 2147483424
            invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
            ifeq 14
         9: .line 1039
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.sessionManager:Lsun/security/pkcs11/SessionManager;
            invokevirtual sun.security.pkcs11.SessionManager.lowMaxSessions:()Z
            ifne 14
        10: .line 1044
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            new sun.security.pkcs11.SunPKCS11$P11Service
            dup
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            ldc "SecureRandom"
            ldc "PKCS11"
        11: .line 1045
            ldc "sun.security.pkcs11.P11SecureRandom"
            aconst_null
        12: .line 1046
            ldc 2147483424
            invokespecial sun.security.pkcs11.SunPKCS11$P11Service.<init>:(Lsun/security/pkcs11/Token;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;J)V
        13: .line 1044
            invokestatic sun.security.pkcs11.SunPKCS11.access$0:(Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
        14: .line 1048
      StackMap locals: sun.security.pkcs11.SunPKCS11$3
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            ldc 2147483425
            invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
            ifeq 20
        15: .line 1049
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            new sun.security.pkcs11.SunPKCS11$P11Service
            dup
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.val$token:Lsun/security/pkcs11/Token;
            ldc "KeyStore"
            ldc "PKCS11"
        16: .line 1050
            ldc "sun.security.pkcs11.P11KeyStore"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        17: .line 1051
            new java.lang.StringBuilder
            dup
            ldc "PKCS11-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11$3.this$0:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        18: .line 1052
            ldc 2147483425
            invokespecial sun.security.pkcs11.SunPKCS11$P11Service.<init>:(Lsun/security/pkcs11/Token;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;J)V
        19: .line 1049
            invokestatic sun.security.pkcs11.SunPKCS11.access$0:(Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
        20: .line 1054
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11$3 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lsun/security/pkcs11/SunPKCS11$3;
            2    6     1      entry  Ljava/util/Map$Entry<Lsun/security/pkcs11/SunPKCS11$Descriptor;Ljava/lang/Integer;>;
            3    6     3          d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
            4    6     4  mechanism  I
            5    6     5          s  Ljava/security/Provider$Service;
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Object;>;
SourceFile: "SunPKCS11.java"
EnclosingMethod: sun.security.pkcs11.SunPKCS11.initToken:(Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
NestHost: sun.security.pkcs11.SunPKCS11
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  public abstract Entry = java.util.Map$Entry of java.util.Map
  sun.security.pkcs11.SunPKCS11$3
  private final Descriptor = sun.security.pkcs11.SunPKCS11$Descriptor of sun.security.pkcs11.SunPKCS11
  private final P11Service = sun.security.pkcs11.SunPKCS11$P11Service of sun.security.pkcs11.SunPKCS11