public final class java.security.AccessControlContext
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.security.AccessControlContext
  super_class: java.lang.Object
{
  private java.security.ProtectionDomain[] context;
    descriptor: [Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE

  private boolean isPrivileged;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isAuthorized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.security.AccessControlContext privilegedContext;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  private java.security.DomainCombiner combiner;
    descriptor: Ljava/security/DomainCombiner;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Permission[] permissions;
    descriptor: [Ljava/security/Permission;
    flags: (0x0002) ACC_PRIVATE

  private java.security.AccessControlContext parent;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  private boolean isWrapped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isLimited;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.security.ProtectionDomain[] limitedContext;
    descriptor: [Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE

  private static boolean debugInit;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 103
            iconst_0
            putstatic java.security.AccessControlContext.debugInit:Z
         1: .line 104
            aconst_null
            putstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static sun.security.util.Debug getDebug();
    descriptor: ()Lsun/security/util/Debug;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 108
            getstatic java.security.AccessControlContext.debugInit:Z
            ifeq 2
         1: .line 109
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            areturn
         2: .line 111
      StackMap locals:
      StackMap stack:
            invokestatic java.security.Policy.isSet:()Z
            ifeq 5
         3: .line 112
            ldc "access"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
         4: .line 113
            iconst_1
            putstatic java.security.AccessControlContext.debugInit:Z
         5: .line 115
      StackMap locals:
      StackMap stack:
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.security.ProtectionDomain[]);
    descriptor: ([Ljava/security/ProtectionDomain;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.ProtectionDomain[] context
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isAuthorized:Z
         2: .line 92
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
         3: .line 131
            aload 1 /* context */
            arraylength
            ifne 6
         4: .line 132
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
         5: .line 133
            goto 22
      StackMap locals: java.security.AccessControlContext java.security.ProtectionDomain[]
      StackMap stack:
         6: aload 1 /* context */
            arraylength
            iconst_1
            if_icmpne 12
         7: .line 134
            aload 1 /* context */
            iconst_0
            aaload
            ifnull 10
         8: .line 135
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual java.security.ProtectionDomain[].clone:()Ljava/lang/Object;
            checkcast java.security.ProtectionDomain[]
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
         9: .line 136
            goto 22
        10: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        11: .line 139
            goto 22
        12: .line 140
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* context */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* v */
        start local 2 // java.util.List v
        13: .line 141
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        14: goto 18
        15: .line 142
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* context */
            iload 3 /* i */
            aaload
            ifnull 17
            aload 2 /* v */
            aload 1 /* context */
            iload 3 /* i */
            aaload
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 143
            aload 2 /* v */
            aload 1 /* context */
            iload 3 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 141
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            aload 1 /* context */
            arraylength
            if_icmplt 15
        end local 3 // int i
        19: .line 145
            aload 2 /* v */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 22
        20: .line 146
            aload 0 /* this */
            aload 2 /* v */
            invokeinterface java.util.List.size:()I
            anewarray java.security.ProtectionDomain
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        21: .line 147
            aload 0 /* this */
            aload 2 /* v */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.ProtectionDomain[]
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        end local 2 // java.util.List v
        22: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.ProtectionDomain[] context
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Ljava/security/AccessControlContext;
            0   23     1  context  [Ljava/security/ProtectionDomain;
           13   22     2        v  Ljava/util/List<Ljava/security/ProtectionDomain;>;
           14   19     3        i  I
    MethodParameters:
         Name  Flags
      context  

  public void <init>(java.security.AccessControlContext, java.security.DomainCombiner);
    descriptor: (Ljava/security/AccessControlContext;Ljava/security/DomainCombiner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext acc
        start local 2 // java.security.DomainCombiner combiner
         0: .line 176
            aload 0 /* this */
            aload 1 /* acc */
            aload 2 /* combiner */
            iconst_0
            invokespecial java.security.AccessControlContext.<init>:(Ljava/security/AccessControlContext;Ljava/security/DomainCombiner;Z)V
         1: .line 177
            return
        end local 2 // java.security.DomainCombiner combiner
        end local 1 // java.security.AccessControlContext acc
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/security/AccessControlContext;
            0    2     1       acc  Ljava/security/AccessControlContext;
            0    2     2  combiner  Ljava/security/DomainCombiner;
    MethodParameters:
          Name  Flags
      acc       
      combiner  

  void <init>(java.security.AccessControlContext, java.security.DomainCombiner, boolean);
    descriptor: (Ljava/security/AccessControlContext;Ljava/security/DomainCombiner;Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext acc
        start local 2 // java.security.DomainCombiner combiner
        start local 3 // boolean preauthorized
         0: .line 184
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isAuthorized:Z
         2: .line 92
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
         3: .line 187
            iload 3 /* preauthorized */
            ifne 9
         4: .line 188
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 4 /* sm */
        start local 4 // java.lang.SecurityManager sm
         5: .line 189
            aload 4 /* sm */
            ifnull 10
         6: .line 190
            aload 4 /* sm */
            getstatic sun.security.util.SecurityConstants.CREATE_ACC_PERMISSION:Ljava/security/SecurityPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 191
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isAuthorized:Z
        end local 4 // java.lang.SecurityManager sm
         8: .line 193
            goto 10
         9: .line 194
      StackMap locals: java.security.AccessControlContext java.security.AccessControlContext java.security.DomainCombiner int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isAuthorized:Z
        10: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* acc */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        11: .line 205
            aload 0 /* this */
            aload 2 /* combiner */
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
        12: .line 206
            return
        end local 3 // boolean preauthorized
        end local 2 // java.security.DomainCombiner combiner
        end local 1 // java.security.AccessControlContext acc
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Ljava/security/AccessControlContext;
            0   13     1            acc  Ljava/security/AccessControlContext;
            0   13     2       combiner  Ljava/security/DomainCombiner;
            0   13     3  preauthorized  Z
            5    8     4             sm  Ljava/lang/SecurityManager;
    MethodParameters:
               Name  Flags
      acc            
      combiner       
      preauthorized  

  void <init>(java.security.ProtectionDomain, java.security.DomainCombiner, java.security.AccessControlContext, java.security.AccessControlContext, java.security.Permission[]);
    descriptor: (Ljava/security/ProtectionDomain;Ljava/security/DomainCombiner;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;[Ljava/security/Permission;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=6
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.ProtectionDomain caller
        start local 2 // java.security.DomainCombiner combiner
        start local 3 // java.security.AccessControlContext parent
        start local 4 // java.security.AccessControlContext context
        start local 5 // java.security.Permission[] perms
         0: .line 214
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isAuthorized:Z
         2: .line 92
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
         3: .line 222
            aconst_null
            astore 6 /* callerPDs */
        start local 6 // java.security.ProtectionDomain[] callerPDs
         4: .line 223
            aload 1 /* caller */
            ifnull 6
         5: .line 224
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            astore 6 /* callerPDs */
         6: .line 226
      StackMap locals: java.security.AccessControlContext java.security.ProtectionDomain java.security.DomainCombiner java.security.AccessControlContext java.security.AccessControlContext java.security.Permission[] java.security.ProtectionDomain[]
      StackMap stack:
            aload 4 /* context */
            ifnull 12
         7: .line 227
            aload 2 /* combiner */
            ifnull 10
         8: .line 228
            aload 0 /* this */
            aload 2 /* combiner */
            aload 6 /* callerPDs */
            aload 4 /* context */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            invokeinterface java.security.DomainCombiner.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
         9: .line 229
            goto 16
        10: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* callerPDs */
            aload 4 /* context */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            invokestatic java.security.AccessControlContext.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        11: .line 232
            goto 16
        12: .line 236
      StackMap locals:
      StackMap stack:
            aload 2 /* combiner */
            ifnull 15
        13: .line 237
            aload 0 /* this */
            aload 2 /* combiner */
            aload 6 /* callerPDs */
            aconst_null
            invokeinterface java.security.DomainCombiner.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        14: .line 238
            goto 16
        15: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* callerPDs */
            aconst_null
            invokestatic java.security.AccessControlContext.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        16: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* combiner */
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
        17: .line 244
            aconst_null
            astore 7 /* tmp */
        start local 7 // java.security.Permission[] tmp
        18: .line 245
            aload 5 /* perms */
            ifnull 29
        19: .line 246
            aload 5 /* perms */
            arraylength
            anewarray java.security.Permission
            astore 7 /* tmp */
        20: .line 247
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: goto 28
        22: .line 248
      StackMap locals: java.security.Permission[] int
      StackMap stack:
            aload 5 /* perms */
            iload 8 /* i */
            aaload
            ifnonnull 24
        23: .line 249
            new java.lang.NullPointerException
            dup
            ldc "permission can't be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* perms */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/security/AllPermission;
            if_acmpne 26
        25: .line 257
            aconst_null
            astore 3 /* parent */
        26: .line 260
      StackMap locals:
      StackMap stack:
            aload 7 /* tmp */
            iload 8 /* i */
            aload 5 /* perms */
            iload 8 /* i */
            aaload
            invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
            aastore
        27: .line 247
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            aload 5 /* perms */
            arraylength
            if_icmplt 22
        end local 8 // int i
        29: .line 273
      StackMap locals:
      StackMap stack:
            aload 3 /* parent */
            ifnull 36
        30: .line 274
            aload 0 /* this */
            aload 3 /* parent */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            aload 3 /* parent */
            getfield java.security.AccessControlContext.limitedContext:[Ljava/security/ProtectionDomain;
            invokestatic java.security.AccessControlContext.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            putfield java.security.AccessControlContext.limitedContext:[Ljava/security/ProtectionDomain;
        31: .line 275
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isLimited:Z
        32: .line 276
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isWrapped:Z
        33: .line 277
            aload 0 /* this */
            aload 7 /* tmp */
            putfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
        34: .line 278
            aload 0 /* this */
            aload 3 /* parent */
            putfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
        35: .line 279
            aload 0 /* this */
            aload 4 /* context */
            putfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
        36: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isAuthorized:Z
        37: .line 282
            return
        end local 7 // java.security.Permission[] tmp
        end local 6 // java.security.ProtectionDomain[] callerPDs
        end local 5 // java.security.Permission[] perms
        end local 4 // java.security.AccessControlContext context
        end local 3 // java.security.AccessControlContext parent
        end local 2 // java.security.DomainCombiner combiner
        end local 1 // java.security.ProtectionDomain caller
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0       this  Ljava/security/AccessControlContext;
            0   38     1     caller  Ljava/security/ProtectionDomain;
            0   38     2   combiner  Ljava/security/DomainCombiner;
            0   38     3     parent  Ljava/security/AccessControlContext;
            0   38     4    context  Ljava/security/AccessControlContext;
            0   38     5      perms  [Ljava/security/Permission;
            4   38     6  callerPDs  [Ljava/security/ProtectionDomain;
           18   38     7        tmp  [Ljava/security/Permission;
           21   29     8          i  I
    MethodParameters:
          Name  Flags
      caller    
      combiner  
      parent    
      context   
      perms     

  void <init>(java.security.ProtectionDomain[], boolean);
    descriptor: ([Ljava/security/ProtectionDomain;Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.ProtectionDomain[] context
        start local 2 // boolean isPrivileged
         0: .line 289
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isAuthorized:Z
         2: .line 92
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
         3: .line 292
            aload 0 /* this */
            aload 1 /* context */
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
         4: .line 293
            aload 0 /* this */
            iload 2 /* isPrivileged */
            putfield java.security.AccessControlContext.isPrivileged:Z
         5: .line 294
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isAuthorized:Z
         6: .line 295
            return
        end local 2 // boolean isPrivileged
        end local 1 // java.security.ProtectionDomain[] context
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljava/security/AccessControlContext;
            0    7     1       context  [Ljava/security/ProtectionDomain;
            0    7     2  isPrivileged  Z
    MethodParameters:
              Name  Flags
      context       
      isPrivileged  

  void <init>(java.security.ProtectionDomain[], java.security.AccessControlContext);
    descriptor: ([Ljava/security/ProtectionDomain;Ljava/security/AccessControlContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.ProtectionDomain[] context
        start local 2 // java.security.AccessControlContext privilegedContext
         0: .line 300
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isAuthorized:Z
         2: .line 92
            aload 0 /* this */
            aconst_null
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
         3: .line 303
            aload 0 /* this */
            aload 1 /* context */
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
         4: .line 304
            aload 0 /* this */
            aload 2 /* privilegedContext */
            putfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
         5: .line 305
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isPrivileged:Z
         6: .line 306
            return
        end local 2 // java.security.AccessControlContext privilegedContext
        end local 1 // java.security.ProtectionDomain[] context
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Ljava/security/AccessControlContext;
            0    7     1            context  [Ljava/security/ProtectionDomain;
            0    7     2  privilegedContext  Ljava/security/AccessControlContext;
    MethodParameters:
                   Name  Flags
      context            
      privilegedContext  

  java.security.ProtectionDomain[] getContext();
    descriptor: ()[Ljava/security/ProtectionDomain;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 312
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            areturn
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/AccessControlContext;

  boolean isPrivileged();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 320
            aload 0 /* this */
            getfield java.security.AccessControlContext.isPrivileged:Z
            ireturn
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/AccessControlContext;

  java.security.DomainCombiner getAssignedCombiner();
    descriptor: ()Ljava/security/DomainCombiner;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 328
            aload 0 /* this */
            getfield java.security.AccessControlContext.isPrivileged:Z
            ifeq 3
         1: .line 329
            aload 0 /* this */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            astore 1 /* acc */
        start local 1 // java.security.AccessControlContext acc
         2: .line 330
            goto 4
        end local 1 // java.security.AccessControlContext acc
         3: .line 331
      StackMap locals:
      StackMap stack:
            invokestatic java.security.AccessController.getInheritedAccessControlContext:()Ljava/security/AccessControlContext;
            astore 1 /* acc */
        start local 1 // java.security.AccessControlContext acc
         4: .line 333
      StackMap locals: java.security.AccessControlContext
      StackMap stack:
            aload 1 /* acc */
            ifnull 6
         5: .line 334
            aload 1 /* acc */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            areturn
         6: .line 336
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.security.AccessControlContext acc
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/security/AccessControlContext;
            2    3     1   acc  Ljava/security/AccessControlContext;
            4    7     1   acc  Ljava/security/AccessControlContext;

  public java.security.DomainCombiner getDomainCombiner();
    descriptor: ()Ljava/security/DomainCombiner;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 354
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 355
            aload 1 /* sm */
            ifnull 3
         2: .line 356
            aload 1 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_COMBINER_PERMISSION:Ljava/security/SecurityPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 358
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.security.AccessControlContext.getCombiner:()Ljava/security/DomainCombiner;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/security/AccessControlContext;
            1    4     1    sm  Ljava/lang/SecurityManager;

  java.security.DomainCombiner getCombiner();
    descriptor: ()Ljava/security/DomainCombiner;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 365
            aload 0 /* this */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            areturn
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/AccessControlContext;

  boolean isAuthorized();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 369
            aload 0 /* this */
            getfield java.security.AccessControlContext.isAuthorized:Z
            ireturn
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/AccessControlContext;

  public void checkPermission(java.security.Permission);
    descriptor: (Ljava/security/Permission;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.Permission perm
         0: .line 394
            iconst_0
            istore 2 /* dumpDebug */
        start local 2 // boolean dumpDebug
         1: .line 396
            aload 1 /* perm */
            ifnonnull 3
         2: .line 397
            new java.lang.NullPointerException
            dup
            ldc "permission can't be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 399
      StackMap locals: int
      StackMap stack:
            invokestatic java.security.AccessControlContext.getDebug:()Lsun/security/util/Debug;
            ifnull 32
         4: .line 401
            ldc "codebase="
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* dumpDebug */
         7: .line 402
            iload 2 /* dumpDebug */
            ifne 17
         8: .line 405
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 16
        10: .line 406
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            ifnull 15
        11: .line 407
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnull 15
        12: .line 408
            new java.lang.StringBuilder
            dup
            ldc "codebase="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 409
            iconst_1
            istore 2 /* dumpDebug */
        14: .line 410
            goto 17
        15: .line 405
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnull 17
            iload 3 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            arraylength
            if_icmplt 10
        end local 3 // int i
        17: .line 415
      StackMap locals:
      StackMap stack:
            iload 2 /* dumpDebug */
            ldc "permission="
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 416
            new java.lang.StringBuilder
            dup
            ldc "permission="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* perm */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifne 19
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_1
      StackMap locals: java.security.AccessControlContext java.security.Permission int
      StackMap stack: int int
        20: iand
            istore 2 /* dumpDebug */
        21: .line 418
            iload 2 /* dumpDebug */
            ifeq 23
            ldc "stack"
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 419
            invokestatic java.lang.Thread.dumpStack:()V
        23: .line 422
      StackMap locals:
      StackMap stack:
            iload 2 /* dumpDebug */
            ifeq 32
            ldc "domain"
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 32
        24: .line 423
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnonnull 27
        25: .line 424
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            ldc "domain (context is null)"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 425
            goto 32
        27: .line 426
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        28: goto 31
        29: .line 427
      StackMap locals: int
      StackMap stack:
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "domain "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 426
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 3 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            arraylength
            if_icmplt 29
        end local 3 // int i
        32: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnonnull 35
        33: .line 445
            aload 0 /* this */
            aload 1 /* perm */
            invokevirtual java.security.AccessControlContext.checkPermission2:(Ljava/security/Permission;)V
        34: .line 446
            return
        35: .line 449
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        36: goto 49
        37: .line 450
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            ifnull 48
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            aload 1 /* perm */
            invokevirtual java.security.ProtectionDomain.impliesWithAltFilePerm:(Ljava/security/Permission;)Z
            ifne 48
        38: .line 451
            iload 2 /* dumpDebug */
            ifeq 40
        39: .line 452
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "access denied "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        40: .line 455
      StackMap locals:
      StackMap stack:
            ldc "failure"
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 47
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            ifnull 47
        41: .line 459
            iload 2 /* dumpDebug */
            ifne 43
        42: .line 460
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "access denied "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        43: .line 462
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.dumpStack:()V
        44: .line 463
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 3 /* i */
            aaload
            astore 4 /* pd */
        start local 4 // java.security.ProtectionDomain pd
        45: .line 464
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            astore 5 /* db */
        start local 5 // sun.security.util.Debug db
        46: .line 465
            new java.security.AccessControlContext$1
            dup
            aload 0 /* this */
            aload 5 /* db */
            aload 4 /* pd */
            invokespecial java.security.AccessControlContext$1.<init>:(Ljava/security/AccessControlContext;Lsun/security/util/Debug;Ljava/security/ProtectionDomain;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 5 // sun.security.util.Debug db
        end local 4 // java.security.ProtectionDomain pd
        47: .line 472
      StackMap locals:
      StackMap stack:
            new java.security.AccessControlException
            dup
            new java.lang.StringBuilder
            dup
            ldc "access denied "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* perm */
            invokespecial java.security.AccessControlException.<init>:(Ljava/lang/String;Ljava/security/Permission;)V
            athrow
        48: .line 449
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 3 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            arraylength
            if_icmplt 37
        end local 3 // int i
        50: .line 477
            iload 2 /* dumpDebug */
            ifeq 52
        51: .line 478
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "access allowed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        52: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perm */
            invokevirtual java.security.AccessControlContext.checkPermission2:(Ljava/security/Permission;)V
        53: .line 482
            return
        end local 2 // boolean dumpDebug
        end local 1 // java.security.Permission perm
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   54     0       this  Ljava/security/AccessControlContext;
            0   54     1       perm  Ljava/security/Permission;
            1   54     2  dumpDebug  Z
            9   17     3          i  I
           28   32     3          i  I
           36   50     3          i  I
           45   47     4         pd  Ljava/security/ProtectionDomain;
           46   47     5         db  Lsun/security/util/Debug;
    Exceptions:
      throws java.security.AccessControlException
    MethodParameters:
      Name  Flags
      perm  

  private void checkPermission2(java.security.Permission);
    descriptor: (Ljava/security/Permission;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.Permission perm
         0: .line 488
            aload 0 /* this */
            getfield java.security.AccessControlContext.isLimited:Z
            ifne 2
         1: .line 489
            return
         2: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            ifnull 4
         3: .line 496
            aload 0 /* this */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            aload 1 /* perm */
            invokevirtual java.security.AccessControlContext.checkPermission2:(Ljava/security/Permission;)V
         4: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifeq 6
         5: .line 505
            return
         6: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnull 15
         7: .line 512
            aload 1 /* perm */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* permClass */
        start local 2 // java.lang.Class permClass
         8: .line 513
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 14
        10: .line 514
      StackMap locals: java.lang.Class int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            iload 3 /* i */
            aaload
            astore 4 /* limit */
        start local 4 // java.security.Permission limit
        11: .line 515
            aload 4 /* limit */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* permClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
            aload 4 /* limit */
            aload 1 /* perm */
            invokevirtual java.security.Permission.implies:(Ljava/security/Permission;)Z
            ifeq 13
        12: .line 516
            return
        end local 4 // java.security.Permission limit
        13: .line 513
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            arraylength
            if_icmplt 10
        end local 3 // int i
        end local 2 // java.lang.Class permClass
        15: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            ifnull 20
        16: .line 535
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnonnull 19
        17: .line 536
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            aload 1 /* perm */
            invokevirtual java.security.AccessControlContext.checkPermission2:(Ljava/security/Permission;)V
        18: .line 537
            goto 20
        19: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            aload 1 /* perm */
            invokevirtual java.security.AccessControlContext.checkPermission:(Ljava/security/Permission;)V
        20: .line 541
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Permission perm
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Ljava/security/AccessControlContext;
            0   21     1       perm  Ljava/security/Permission;
            8   15     2  permClass  Ljava/lang/Class<*>;
            9   15     3          i  I
           11   13     4      limit  Ljava/security/Permission;
    MethodParameters:
      Name  Flags
      perm  

  java.security.AccessControlContext optimize();
    descriptor: ()Ljava/security/AccessControlContext;
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 554
            aconst_null
            astore 2 /* combiner */
        start local 2 // java.security.DomainCombiner combiner
         1: .line 555
            aconst_null
            astore 3 /* parent */
        start local 3 // java.security.AccessControlContext parent
         2: .line 556
            aconst_null
            astore 4 /* permissions */
        start local 4 // java.security.Permission[] permissions
         3: .line 558
            aload 0 /* this */
            getfield java.security.AccessControlContext.isPrivileged:Z
            ifeq 10
         4: .line 559
            aload 0 /* this */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            astore 1 /* acc */
        start local 1 // java.security.AccessControlContext acc
         5: .line 560
            aload 1 /* acc */
            ifnull 14
         6: .line 566
            aload 1 /* acc */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifeq 14
         7: .line 567
            aload 1 /* acc */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            astore 4 /* permissions */
         8: .line 568
            aload 1 /* acc */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            astore 3 /* parent */
         9: .line 571
            goto 14
        end local 1 // java.security.AccessControlContext acc
        10: .line 572
      StackMap locals: java.security.AccessControlContext top java.security.DomainCombiner java.security.AccessControlContext java.security.Permission[]
      StackMap stack:
            invokestatic java.security.AccessController.getInheritedAccessControlContext:()Ljava/security/AccessControlContext;
            astore 1 /* acc */
        start local 1 // java.security.AccessControlContext acc
        11: .line 573
            aload 1 /* acc */
            ifnull 14
        12: .line 579
            aload 1 /* acc */
            getfield java.security.AccessControlContext.isLimited:Z
            ifeq 14
        13: .line 580
            aload 1 /* acc */
            astore 3 /* parent */
        14: .line 587
      StackMap locals: java.security.AccessControlContext java.security.AccessControlContext java.security.DomainCombiner java.security.AccessControlContext java.security.Permission[]
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnonnull 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 5 /* skipStack */
        start local 5 // boolean skipStack
        17: .line 591
            aload 1 /* acc */
            ifnull 18
            aload 1 /* acc */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnull 18
            iconst_0
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: istore 6 /* skipAssigned */
        start local 6 // boolean skipAssigned
        20: .line 592
            iload 6 /* skipAssigned */
            ifeq 21
            aconst_null
            goto 22
      StackMap locals: int
      StackMap stack:
        21: aload 1 /* acc */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
      StackMap locals:
      StackMap stack: java.security.ProtectionDomain[]
        22: astore 7 /* assigned */
        start local 7 // java.security.ProtectionDomain[] assigned
        23: .line 597
            aload 1 /* acc */
            ifnull 24
            aload 1 /* acc */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifne 25
      StackMap locals: java.security.ProtectionDomain[]
      StackMap stack:
        24: aload 3 /* parent */
            ifnonnull 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 9 /* skipLimited */
        start local 9 // boolean skipLimited
        27: .line 599
            aload 1 /* acc */
            ifnull 33
            aload 1 /* acc */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            ifnull 33
        28: .line 601
            invokestatic java.security.AccessControlContext.getDebug:()Lsun/security/util/Debug;
            ifnull 30
        29: .line 602
            getstatic java.security.AccessControlContext.debug:Lsun/security/util/Debug;
            ldc "AccessControlContext invoking the Combiner"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 607
      StackMap locals: java.security.AccessControlContext java.security.AccessControlContext java.security.DomainCombiner java.security.AccessControlContext java.security.Permission[] int int java.security.ProtectionDomain[] top int
      StackMap stack:
            aload 1 /* acc */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            astore 2 /* combiner */
        31: .line 608
            aload 2 /* combiner */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            aload 7 /* assigned */
            invokeinterface java.security.DomainCombiner.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            astore 8 /* pd */
        start local 8 // java.security.ProtectionDomain[] pd
        32: .line 609
            goto 49
        end local 8 // java.security.ProtectionDomain[] pd
        33: .line 610
      StackMap locals:
      StackMap stack:
            iload 5 /* skipStack */
            ifeq 39
        34: .line 611
            iload 6 /* skipAssigned */
            ifeq 37
        35: .line 612
            aload 0 /* this */
            aload 1 /* acc */
            aload 3 /* parent */
            aload 4 /* permissions */
            invokevirtual java.security.AccessControlContext.calculateFields:(Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;[Ljava/security/Permission;)V
        36: .line 613
            aload 0 /* this */
            areturn
        37: .line 614
      StackMap locals:
      StackMap stack:
            iload 9 /* skipLimited */
            ifeq 43
        38: .line 615
            aload 1 /* acc */
            areturn
        39: .line 617
      StackMap locals:
      StackMap stack:
            aload 7 /* assigned */
            ifnull 43
        40: .line 618
            iload 9 /* skipLimited */
            ifeq 43
        41: .line 622
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            arraylength
            iconst_1
            if_icmpne 43
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iconst_0
            aaload
            aload 7 /* assigned */
            iconst_0
            aaload
            if_acmpne 43
        42: .line 623
            aload 1 /* acc */
            areturn
        43: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            aload 7 /* assigned */
            invokestatic java.security.AccessControlContext.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            astore 8 /* pd */
        start local 8 // java.security.ProtectionDomain[] pd
        44: .line 629
            iload 9 /* skipLimited */
            ifeq 46
            iload 6 /* skipAssigned */
            ifne 46
            aload 8 /* pd */
            aload 7 /* assigned */
            if_acmpne 46
        45: .line 630
            aload 1 /* acc */
            areturn
        46: .line 631
      StackMap locals: java.security.AccessControlContext java.security.AccessControlContext java.security.DomainCombiner java.security.AccessControlContext java.security.Permission[] int int java.security.ProtectionDomain[] java.security.ProtectionDomain[] int
      StackMap stack:
            iload 6 /* skipAssigned */
            ifeq 49
            aload 8 /* pd */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            if_acmpne 49
        47: .line 632
            aload 0 /* this */
            aload 1 /* acc */
            aload 3 /* parent */
            aload 4 /* permissions */
            invokevirtual java.security.AccessControlContext.calculateFields:(Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;[Ljava/security/Permission;)V
        48: .line 633
            aload 0 /* this */
            areturn
        49: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* pd */
            putfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
        50: .line 639
            aload 0 /* this */
            aload 2 /* combiner */
            putfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
        51: .line 640
            aload 0 /* this */
            iconst_0
            putfield java.security.AccessControlContext.isPrivileged:Z
        52: .line 642
            aload 0 /* this */
            aload 1 /* acc */
            aload 3 /* parent */
            aload 4 /* permissions */
            invokevirtual java.security.AccessControlContext.calculateFields:(Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;[Ljava/security/Permission;)V
        53: .line 643
            aload 0 /* this */
            areturn
        end local 9 // boolean skipLimited
        end local 8 // java.security.ProtectionDomain[] pd
        end local 7 // java.security.ProtectionDomain[] assigned
        end local 6 // boolean skipAssigned
        end local 5 // boolean skipStack
        end local 4 // java.security.Permission[] permissions
        end local 3 // java.security.AccessControlContext parent
        end local 2 // java.security.DomainCombiner combiner
        end local 1 // java.security.AccessControlContext acc
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   54     0          this  Ljava/security/AccessControlContext;
            5   10     1           acc  Ljava/security/AccessControlContext;
           11   54     1           acc  Ljava/security/AccessControlContext;
            1   54     2      combiner  Ljava/security/DomainCombiner;
            2   54     3        parent  Ljava/security/AccessControlContext;
            3   54     4   permissions  [Ljava/security/Permission;
           17   54     5     skipStack  Z
           20   54     6  skipAssigned  Z
           23   54     7      assigned  [Ljava/security/ProtectionDomain;
           32   33     8            pd  [Ljava/security/ProtectionDomain;
           44   54     8            pd  [Ljava/security/ProtectionDomain;
           27   54     9   skipLimited  Z

  private static java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
    descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // java.security.ProtectionDomain[] current
        start local 1 // java.security.ProtectionDomain[] assigned
         0: .line 655
            aload 0 /* current */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* skipStack */
        start local 2 // boolean skipStack
         3: .line 659
            aload 1 /* assigned */
            ifnonnull 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* skipAssigned */
        start local 3 // boolean skipAssigned
         6: .line 661
            iload 2 /* skipStack */
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 0 /* current */
            arraylength
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* slen */
        start local 4 // int slen
         9: .line 666
            iload 3 /* skipAssigned */
            ifeq 11
            iload 4 /* slen */
            iconst_2
            if_icmpgt 11
        10: .line 667
            aload 0 /* current */
            areturn
        11: .line 670
      StackMap locals: int
      StackMap stack:
            iload 3 /* skipAssigned */
            ifeq 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 1 /* assigned */
            arraylength
      StackMap locals:
      StackMap stack: int
        13: istore 5 /* n */
        start local 5 // int n
        14: .line 673
            iload 4 /* slen */
            iload 5 /* n */
            iadd
            anewarray java.security.ProtectionDomain
            astore 6 /* pd */
        start local 6 // java.security.ProtectionDomain[] pd
        15: .line 676
            iload 3 /* skipAssigned */
            ifne 17
        16: .line 677
            aload 1 /* assigned */
            iconst_0
            aload 6 /* pd */
            iconst_0
            iload 5 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 682
      StackMap locals: int java.security.ProtectionDomain[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        18: goto 29
        19: .line 683
      StackMap locals: int
      StackMap stack:
            aload 0 /* current */
            iload 7 /* i */
            aaload
            astore 8 /* sd */
        start local 8 // java.security.ProtectionDomain sd
        20: .line 684
            aload 8 /* sd */
            ifnull 28
        21: .line 685
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        22: goto 26
        23: .line 686
      StackMap locals: java.security.ProtectionDomain int
      StackMap stack:
            aload 8 /* sd */
            aload 6 /* pd */
            iload 9 /* j */
            aaload
            if_acmpne 25
        24: .line 687
            goto 28
        25: .line 685
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 9 /* j */
            iload 5 /* n */
            if_icmplt 23
        end local 9 // int j
        27: .line 690
            aload 6 /* pd */
            iload 5 /* n */
            iinc 5 /* n */ 1
            aload 8 /* sd */
            aastore
        end local 8 // java.security.ProtectionDomain sd
        28: .line 682
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            iload 4 /* slen */
            if_icmplt 19
        end local 7 // int i
        30: .line 695
            iload 5 /* n */
            aload 6 /* pd */
            arraylength
            if_icmpeq 38
        31: .line 697
            iload 3 /* skipAssigned */
            ifne 33
            iload 5 /* n */
            aload 1 /* assigned */
            arraylength
            if_icmpne 33
        32: .line 698
            aload 1 /* assigned */
            areturn
        33: .line 699
      StackMap locals:
      StackMap stack:
            iload 3 /* skipAssigned */
            ifeq 35
            iload 5 /* n */
            iload 4 /* slen */
            if_icmpne 35
        34: .line 700
            aload 0 /* current */
            areturn
        35: .line 702
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            anewarray java.security.ProtectionDomain
            astore 7 /* tmp */
        start local 7 // java.security.ProtectionDomain[] tmp
        36: .line 703
            aload 6 /* pd */
            iconst_0
            aload 7 /* tmp */
            iconst_0
            iload 5 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 704
            aload 7 /* tmp */
            astore 6 /* pd */
        end local 7 // java.security.ProtectionDomain[] tmp
        38: .line 707
      StackMap locals:
      StackMap stack:
            aload 6 /* pd */
            areturn
        end local 6 // java.security.ProtectionDomain[] pd
        end local 5 // int n
        end local 4 // int slen
        end local 3 // boolean skipAssigned
        end local 2 // boolean skipStack
        end local 1 // java.security.ProtectionDomain[] assigned
        end local 0 // java.security.ProtectionDomain[] current
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0       current  [Ljava/security/ProtectionDomain;
            0   39     1      assigned  [Ljava/security/ProtectionDomain;
            3   39     2     skipStack  Z
            6   39     3  skipAssigned  Z
            9   39     4          slen  I
           14   39     5             n  I
           15   39     6            pd  [Ljava/security/ProtectionDomain;
           18   30     7             i  I
           20   28     8            sd  Ljava/security/ProtectionDomain;
           22   27     9             j  I
           36   38     7           tmp  [Ljava/security/ProtectionDomain;
    MethodParameters:
          Name  Flags
      current   
      assigned  

  private void calculateFields(java.security.AccessControlContext, java.security.AccessControlContext, java.security.Permission[]);
    descriptor: (Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;[Ljava/security/Permission;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext assigned
        start local 2 // java.security.AccessControlContext parent
        start local 3 // java.security.Permission[] permissions
         0: .line 721
            aconst_null
            astore 4 /* parentLimit */
        start local 4 // java.security.ProtectionDomain[] parentLimit
         1: .line 722
            aconst_null
            astore 5 /* assignedLimit */
        start local 5 // java.security.ProtectionDomain[] assignedLimit
         2: .line 725
            aload 2 /* parent */
            ifnull 3
            aload 2 /* parent */
            getfield java.security.AccessControlContext.limitedContext:[Ljava/security/ProtectionDomain;
            goto 4
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[]
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.security.ProtectionDomain[]
         4: astore 4 /* parentLimit */
         5: .line 726
            aload 1 /* assigned */
            ifnull 6
            aload 1 /* assigned */
            getfield java.security.AccessControlContext.limitedContext:[Ljava/security/ProtectionDomain;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: java.security.ProtectionDomain[]
         7: astore 5 /* assignedLimit */
         8: .line 727
            aload 4 /* parentLimit */
            aload 5 /* assignedLimit */
            invokestatic java.security.AccessControlContext.combine:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
            astore 6 /* newLimit */
        start local 6 // java.security.ProtectionDomain[] newLimit
         9: .line 728
            aload 6 /* newLimit */
            ifnull 15
        10: .line 729
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnull 11
            aload 6 /* newLimit */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            invokestatic java.security.AccessControlContext.containsAllPDs:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
            ifne 15
        11: .line 730
      StackMap locals: java.security.ProtectionDomain[]
      StackMap stack:
            aload 0 /* this */
            aload 6 /* newLimit */
            putfield java.security.AccessControlContext.limitedContext:[Ljava/security/ProtectionDomain;
        12: .line 731
            aload 0 /* this */
            aload 3 /* permissions */
            putfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
        13: .line 732
            aload 0 /* this */
            aload 2 /* parent */
            putfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
        14: .line 733
            aload 0 /* this */
            iconst_1
            putfield java.security.AccessControlContext.isLimited:Z
        15: .line 736
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.security.ProtectionDomain[] newLimit
        end local 5 // java.security.ProtectionDomain[] assignedLimit
        end local 4 // java.security.ProtectionDomain[] parentLimit
        end local 3 // java.security.Permission[] permissions
        end local 2 // java.security.AccessControlContext parent
        end local 1 // java.security.AccessControlContext assigned
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Ljava/security/AccessControlContext;
            0   16     1       assigned  Ljava/security/AccessControlContext;
            0   16     2         parent  Ljava/security/AccessControlContext;
            0   16     3    permissions  [Ljava/security/Permission;
            1   16     4    parentLimit  [Ljava/security/ProtectionDomain;
            2   16     5  assignedLimit  [Ljava/security/ProtectionDomain;
            9   16     6       newLimit  [Ljava/security/ProtectionDomain;
    MethodParameters:
             Name  Flags
      assigned     
      parent       
      permissions  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.lang.Object obj
         0: .line 750
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 751
            iconst_1
            ireturn
         2: .line 753
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.security.AccessControlContext
            ifne 4
         3: .line 754
            iconst_0
            ireturn
         4: .line 756
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast java.security.AccessControlContext
            astore 2 /* that */
        start local 2 // java.security.AccessControlContext that
         5: .line 758
            aload 0 /* this */
            aload 2 /* that */
            invokevirtual java.security.AccessControlContext.equalContext:(Ljava/security/AccessControlContext;)Z
            ifne 7
         6: .line 759
            iconst_0
            ireturn
         7: .line 761
      StackMap locals: java.security.AccessControlContext
      StackMap stack:
            aload 0 /* this */
            aload 2 /* that */
            invokevirtual java.security.AccessControlContext.equalLimitedContext:(Ljava/security/AccessControlContext;)Z
            ifne 9
         8: .line 762
            iconst_0
            ireturn
         9: .line 764
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.security.AccessControlContext that
        end local 1 // java.lang.Object obj
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/security/AccessControlContext;
            0   10     1   obj  Ljava/lang/Object;
            5   10     2  that  Ljava/security/AccessControlContext;
    MethodParameters:
      Name  Flags
      obj   

  private boolean equalContext(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext that
         0: .line 772
            aload 0 /* this */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            aload 1 /* that */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            invokevirtual java.security.AccessControlContext.equalPDs:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
            ifne 2
         1: .line 773
            iconst_0
            ireturn
         2: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            ifnonnull 4
            aload 1 /* that */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            ifnull 4
         3: .line 776
            iconst_0
            ireturn
         4: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            ifnull 6
            aload 0 /* this */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            aload 1 /* that */
            getfield java.security.AccessControlContext.combiner:Ljava/security/DomainCombiner;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 779
            iconst_0
            ireturn
         6: .line 781
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.AccessControlContext that
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/security/AccessControlContext;
            0    7     1  that  Ljava/security/AccessControlContext;
    MethodParameters:
      Name  Flags
      that  

  private boolean equalPDs(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
    descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.ProtectionDomain[] a
        start local 2 // java.security.ProtectionDomain[] b
         0: .line 785
            aload 1 /* a */
            ifnonnull 3
         1: .line 786
            aload 2 /* b */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 789
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ifnonnull 5
         4: .line 790
            iconst_0
            ireturn
         5: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            aload 2 /* b */
            invokestatic java.security.AccessControlContext.containsAllPDs:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
            ifeq 6
            aload 2 /* b */
            aload 1 /* a */
            invokestatic java.security.AccessControlContext.containsAllPDs:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
            ifne 7
         6: .line 793
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 795
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.security.ProtectionDomain[] b
        end local 1 // java.security.ProtectionDomain[] a
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/security/AccessControlContext;
            0    8     1     a  [Ljava/security/ProtectionDomain;
            0    8     2     b  [Ljava/security/ProtectionDomain;
    MethodParameters:
      Name  Flags
      a     
      b     

  private boolean equalLimitedContext(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext that
         0: .line 804
            aload 1 /* that */
            ifnonnull 2
         1: .line 805
            iconst_0
            ireturn
         2: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.isLimited:Z
            ifne 4
            aload 1 /* that */
            getfield java.security.AccessControlContext.isLimited:Z
            ifne 4
         3: .line 811
            iconst_1
            ireturn
         4: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.isLimited:Z
            ifeq 5
            aload 1 /* that */
            getfield java.security.AccessControlContext.isLimited:Z
            ifne 6
         5: .line 817
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifeq 7
            aload 1 /* that */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifeq 8
         7: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifne 9
            aload 1 /* that */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifeq 9
         8: .line 827
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnonnull 11
            aload 1 /* that */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnull 11
        10: .line 831
            iconst_0
            ireturn
        11: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnull 13
            aload 1 /* that */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnonnull 13
        12: .line 834
            iconst_0
            ireturn
        13: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            invokevirtual java.security.AccessControlContext.containsAllLimits:(Ljava/security/AccessControlContext;)Z
            ifeq 14
            aload 1 /* that */
            aload 0 /* this */
            invokevirtual java.security.AccessControlContext.containsAllLimits:(Ljava/security/AccessControlContext;)Z
            ifne 15
        14: .line 837
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.security.AccessControlContext.getNextPC:(Ljava/security/AccessControlContext;)Ljava/security/AccessControlContext;
            astore 2 /* thisNextPC */
        start local 2 // java.security.AccessControlContext thisNextPC
        16: .line 843
            aload 1 /* that */
            invokestatic java.security.AccessControlContext.getNextPC:(Ljava/security/AccessControlContext;)Ljava/security/AccessControlContext;
            astore 3 /* thatNextPC */
        start local 3 // java.security.AccessControlContext thatNextPC
        17: .line 851
            aload 2 /* thisNextPC */
            ifnonnull 19
            aload 3 /* thatNextPC */
            ifnull 19
            aload 3 /* thatNextPC */
            getfield java.security.AccessControlContext.isLimited:Z
            ifeq 19
        18: .line 852
            iconst_0
            ireturn
        19: .line 854
      StackMap locals: java.security.AccessControlContext java.security.AccessControlContext
      StackMap stack:
            aload 2 /* thisNextPC */
            ifnull 21
            aload 2 /* thisNextPC */
            aload 3 /* thatNextPC */
            invokevirtual java.security.AccessControlContext.equalLimitedContext:(Ljava/security/AccessControlContext;)Z
            ifne 21
        20: .line 855
            iconst_0
            ireturn
        21: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            ifnonnull 23
            aload 1 /* that */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            ifnull 23
        22: .line 858
            iconst_0
            ireturn
        23: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            ifnull 25
            aload 0 /* this */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            aload 1 /* that */
            getfield java.security.AccessControlContext.parent:Ljava/security/AccessControlContext;
            invokevirtual java.security.AccessControlContext.equals:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 861
            iconst_0
            ireturn
        25: .line 863
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.security.AccessControlContext thatNextPC
        end local 2 // java.security.AccessControlContext thisNextPC
        end local 1 // java.security.AccessControlContext that
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Ljava/security/AccessControlContext;
            0   26     1        that  Ljava/security/AccessControlContext;
           16   26     2  thisNextPC  Ljava/security/AccessControlContext;
           17   26     3  thatNextPC  Ljava/security/AccessControlContext;
    MethodParameters:
      Name  Flags
      that  

  private static java.security.AccessControlContext getNextPC(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)Ljava/security/AccessControlContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AccessControlContext acc
         0: .line 871
            goto 4
         1: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* acc */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            astore 0 /* acc */
         2: .line 873
            aload 0 /* acc */
            getfield java.security.AccessControlContext.isWrapped:Z
            ifne 4
         3: .line 874
            aload 0 /* acc */
            areturn
         4: .line 871
      StackMap locals:
      StackMap stack:
            aload 0 /* acc */
            ifnull 5
            aload 0 /* acc */
            getfield java.security.AccessControlContext.privilegedContext:Ljava/security/AccessControlContext;
            ifnonnull 1
         5: .line 876
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.security.AccessControlContext acc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   acc  Ljava/security/AccessControlContext;
    MethodParameters:
      Name  Flags
      acc   

  private static boolean containsAllPDs(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
    descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.security.ProtectionDomain[] thisContext
        start local 1 // java.security.ProtectionDomain[] thatContext
         0: .line 881
            iconst_0
            istore 2 /* match */
        start local 2 // boolean match
         1: .line 890
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 27
         3: .line 891
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int top int
      StackMap stack:
            iconst_0
            istore 2 /* match */
         4: .line 892
            aload 0 /* thisContext */
            iload 4 /* i */
            aaload
            dup
            astore 3 /* thisPd */
        start local 3 // java.security.ProtectionDomain thisPd
         5: ifnonnull 14
         6: .line 893
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         7: goto 12
         8: .line 894
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int java.security.ProtectionDomain int int
      StackMap stack:
            aload 1 /* thatContext */
            iload 5 /* j */
            aaload
            ifnonnull 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* match */
        11: .line 893
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* j */
            aload 1 /* thatContext */
            arraylength
            if_icmpge 25
            iload 2 /* match */
            ifeq 8
        end local 5 // int j
        13: .line 896
            goto 25
        14: .line 897
      StackMap locals:
      StackMap stack:
            aload 3 /* thisPd */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 5 /* thisPdClass */
        start local 5 // java.lang.Class thisPdClass
        15: .line 899
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        16: goto 24
        17: .line 900
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int java.security.ProtectionDomain int java.lang.Class top int
      StackMap stack:
            aload 1 /* thatContext */
            iload 7 /* j */
            aaload
            astore 6 /* thatPd */
        start local 6 // java.security.ProtectionDomain thatPd
        18: .line 903
            aload 6 /* thatPd */
            ifnull 21
        19: .line 904
            aload 5 /* thisPdClass */
            aload 6 /* thatPd */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpne 21
            aload 3 /* thisPd */
            aload 6 /* thatPd */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 903
            iconst_1
            goto 22
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int java.security.ProtectionDomain int java.lang.Class java.security.ProtectionDomain int
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 2 /* match */
        23: .line 899
            iinc 7 /* j */ 1
        end local 6 // java.security.ProtectionDomain thatPd
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int java.security.ProtectionDomain int java.lang.Class top int
      StackMap stack:
        24: iload 7 /* j */
            aload 1 /* thatContext */
            arraylength
            if_icmpge 25
            iload 2 /* match */
            ifeq 17
        end local 7 // int j
        end local 5 // java.lang.Class thisPdClass
        25: .line 907
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int java.security.ProtectionDomain int
      StackMap stack:
            iload 2 /* match */
            ifne 26
            iconst_0
            ireturn
        26: .line 890
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // java.security.ProtectionDomain thisPd
      StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] int top int
      StackMap stack:
        27: iload 4 /* i */
            aload 0 /* thisContext */
            arraylength
            if_icmplt 3
        end local 4 // int i
        28: .line 909
            iload 2 /* match */
            ireturn
        end local 2 // boolean match
        end local 1 // java.security.ProtectionDomain[] thatContext
        end local 0 // java.security.ProtectionDomain[] thisContext
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0  thisContext  [Ljava/security/ProtectionDomain;
            0   29     1  thatContext  [Ljava/security/ProtectionDomain;
            1   29     2        match  Z
            5   27     3       thisPd  Ljava/security/ProtectionDomain;
            2   28     4            i  I
            7   13     5            j  I
           15   25     5  thisPdClass  Ljava/lang/Class<*>;
           18   24     6       thatPd  Ljava/security/ProtectionDomain;
           16   25     7            j  I
    MethodParameters:
             Name  Flags
      thisContext  
      thatContext  

  private boolean containsAllLimits(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.security.AccessControlContext this
        start local 1 // java.security.AccessControlContext that
         0: .line 913
            iconst_0
            istore 2 /* match */
        start local 2 // boolean match
         1: .line 916
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnonnull 3
            aload 1 /* that */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            ifnonnull 3
         2: .line 917
            iconst_1
            ireturn
         3: .line 919
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 20
         5: .line 920
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            iload 3 /* i */
            aaload
            astore 4 /* limit */
        start local 4 // java.security.Permission limit
         6: .line 921
            aload 4 /* limit */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 5 /* limitClass */
        start local 5 // java.lang.Class limitClass
         7: .line 922
            iconst_0
            istore 2 /* match */
         8: .line 923
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         9: goto 17
        10: .line 924
      StackMap locals: java.security.Permission java.lang.Class int
      StackMap stack:
            aload 1 /* that */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            iload 6 /* j */
            aaload
            astore 7 /* perm */
        start local 7 // java.security.Permission perm
        11: .line 925
            aload 5 /* limitClass */
            aload 7 /* perm */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 926
            aload 4 /* limit */
            aload 7 /* perm */
            invokevirtual java.security.Permission.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 925
            iconst_1
            goto 15
      StackMap locals: java.security.Permission
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 2 /* match */
        end local 7 // java.security.Permission perm
        16: .line 923
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* j */
            aload 1 /* that */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            arraylength
            if_icmpge 18
            iload 2 /* match */
            ifeq 10
        end local 6 // int j
        18: .line 928
      StackMap locals:
      StackMap stack:
            iload 2 /* match */
            ifne 19
            iconst_0
            ireturn
        end local 5 // java.lang.Class limitClass
        end local 4 // java.security.Permission limit
        19: .line 919
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.permissions:[Ljava/security/Permission;
            arraylength
            if_icmplt 5
        end local 3 // int i
        21: .line 930
            iload 2 /* match */
            ireturn
        end local 2 // boolean match
        end local 1 // java.security.AccessControlContext that
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Ljava/security/AccessControlContext;
            0   22     1        that  Ljava/security/AccessControlContext;
            1   22     2       match  Z
            4   21     3           i  I
            6   19     4       limit  Ljava/security/Permission;
            7   19     5  limitClass  Ljava/lang/Class<*>;
            9   18     6           j  I
           11   16     7        perm  Ljava/security/Permission;
    MethodParameters:
      Name  Flags
      that  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.security.AccessControlContext this
         0: .line 943
            iconst_0
            istore 1 /* hashCode */
        start local 1 // int hashCode
         1: .line 945
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            ifnonnull 3
         2: .line 946
            iload 1 /* hashCode */
            ireturn
         3: .line 948
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 949
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 2 /* i */
            aaload
            ifnull 7
         6: .line 950
            iload 1 /* hashCode */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.Object.hashCode:()I
            ixor
            istore 1 /* hashCode */
         7: .line 948
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield java.security.AccessControlContext.context:[Ljava/security/ProtectionDomain;
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 953
            iload 1 /* hashCode */
            ireturn
        end local 1 // int hashCode
        end local 0 // java.security.AccessControlContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljava/security/AccessControlContext;
            1   10     1  hashCode  I
            4    9     2         i  I
}
SourceFile: "AccessControlContext.java"
NestMembers:
  java.security.AccessControlContext$1
InnerClasses:
  java.security.AccessControlContext$1