public class sun.security.acl.AclImpl extends sun.security.acl.OwnerImpl implements java.security.acl.Acl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.acl.AclImpl
  super_class: sun.security.acl.OwnerImpl
{
  private java.util.Hashtable<java.security.Principal, java.security.acl.AclEntry> allowedUsersTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;

  private java.util.Hashtable<java.security.Principal, java.security.acl.AclEntry> allowedGroupsTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;

  private java.util.Hashtable<java.security.Principal, java.security.acl.AclEntry> deniedUsersTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;

  private java.util.Hashtable<java.security.Principal, java.security.acl.AclEntry> deniedGroupsTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;

  private java.lang.String aclName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector<java.security.acl.Permission> zeroSet;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/security/acl/Permission;>;

  public void <init>(java.security.Principal, java.lang.String);
    descriptor: (Ljava/security/Principal;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal owner
        start local 2 // java.lang.String name
         0: .line 59
            aload 0 /* this */
            aload 1 /* owner */
            invokespecial sun.security.acl.OwnerImpl.<init>:(Ljava/security/Principal;)V
         1: .line 43
            aload 0 /* this */
         2: .line 44
            new java.util.Hashtable
            dup
            bipush 23
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield sun.security.acl.AclImpl.allowedUsersTable:Ljava/util/Hashtable;
         3: .line 45
            aload 0 /* this */
         4: .line 46
            new java.util.Hashtable
            dup
            bipush 23
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield sun.security.acl.AclImpl.allowedGroupsTable:Ljava/util/Hashtable;
         5: .line 47
            aload 0 /* this */
         6: .line 48
            new java.util.Hashtable
            dup
            bipush 23
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield sun.security.acl.AclImpl.deniedUsersTable:Ljava/util/Hashtable;
         7: .line 49
            aload 0 /* this */
         8: .line 50
            new java.util.Hashtable
            dup
            bipush 23
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield sun.security.acl.AclImpl.deniedGroupsTable:Ljava/util/Hashtable;
         9: .line 51
            aload 0 /* this */
            aconst_null
            putfield sun.security.acl.AclImpl.aclName:Ljava/lang/String;
        10: .line 52
            aload 0 /* this */
            new java.util.Vector
            dup
            iconst_1
            iconst_1
            invokespecial java.util.Vector.<init>:(II)V
            putfield sun.security.acl.AclImpl.zeroSet:Ljava/util/Vector;
        11: .line 61
            aload 0 /* this */
            aload 1 /* owner */
            aload 2 /* name */
            invokevirtual sun.security.acl.AclImpl.setName:(Ljava/security/Principal;Ljava/lang/String;)V
        12: .line 62
            goto 14
      StackMap locals: sun.security.acl.AclImpl java.security.Principal java.lang.String
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 63
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // java.security.Principal owner
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/security/acl/AclImpl;
            0   15     1  owner  Ljava/security/Principal;
            0   15     2   name  Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      owner  
      name   

  public void setName(java.security.Principal, java.lang.String);
    descriptor: (Ljava/security/Principal;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal caller
        start local 2 // java.lang.String name
         0: .line 75
            aload 0 /* this */
            aload 1 /* caller */
            invokevirtual sun.security.acl.AclImpl.isOwner:(Ljava/security/Principal;)Z
            ifne 2
         1: .line 76
            new java.security.acl.NotOwnerException
            dup
            invokespecial java.security.acl.NotOwnerException.<init>:()V
            athrow
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            putfield sun.security.acl.AclImpl.aclName:Ljava/lang/String;
         3: .line 79
            return
        end local 2 // java.lang.String name
        end local 1 // java.security.Principal caller
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/acl/AclImpl;
            0    4     1  caller  Ljava/security/Principal;
            0    4     2    name  Ljava/lang/String;
    Exceptions:
      throws java.security.acl.NotOwnerException
    MethodParameters:
        Name  Flags
      caller  
      name    

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.acl.AclImpl this
         0: .line 86
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.aclName:Ljava/lang/String;
            areturn
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/acl/AclImpl;

  public synchronized boolean addEntry(java.security.Principal, java.security.acl.AclEntry);
    descriptor: (Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal caller
        start local 2 // java.security.acl.AclEntry entry
         0: .line 106
            aload 0 /* this */
            aload 1 /* caller */
            invokevirtual sun.security.acl.AclImpl.isOwner:(Ljava/security/Principal;)Z
            ifne 2
         1: .line 107
            new java.security.acl.NotOwnerException
            dup
            invokespecial java.security.acl.NotOwnerException.<init>:()V
            athrow
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* entry */
            invokevirtual sun.security.acl.AclImpl.findTable:(Ljava/security/acl/AclEntry;)Ljava/util/Hashtable;
            astore 3 /* aclTable */
        start local 3 // java.util.Hashtable aclTable
         3: .line 110
            aload 2 /* entry */
            invokeinterface java.security.acl.AclEntry.getPrincipal:()Ljava/security/Principal;
            astore 4 /* key */
        start local 4 // java.security.Principal key
         4: .line 112
            aload 3 /* aclTable */
            aload 4 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 6
         5: .line 113
            iconst_0
            ireturn
         6: .line 115
      StackMap locals: java.util.Hashtable java.security.Principal
      StackMap stack:
            aload 3 /* aclTable */
            aload 4 /* key */
            aload 2 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 116
            iconst_1
            ireturn
        end local 4 // java.security.Principal key
        end local 3 // java.util.Hashtable aclTable
        end local 2 // java.security.acl.AclEntry entry
        end local 1 // java.security.Principal caller
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/security/acl/AclImpl;
            0    8     1    caller  Ljava/security/Principal;
            0    8     2     entry  Ljava/security/acl/AclEntry;
            3    8     3  aclTable  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;
            4    8     4       key  Ljava/security/Principal;
    Exceptions:
      throws java.security.acl.NotOwnerException
    MethodParameters:
        Name  Flags
      caller  
      entry   

  public synchronized boolean removeEntry(java.security.Principal, java.security.acl.AclEntry);
    descriptor: (Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal caller
        start local 2 // java.security.acl.AclEntry entry
         0: .line 132
            aload 0 /* this */
            aload 1 /* caller */
            invokevirtual sun.security.acl.AclImpl.isOwner:(Ljava/security/Principal;)Z
            ifne 2
         1: .line 133
            new java.security.acl.NotOwnerException
            dup
            invokespecial java.security.acl.NotOwnerException.<init>:()V
            athrow
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* entry */
            invokevirtual sun.security.acl.AclImpl.findTable:(Ljava/security/acl/AclEntry;)Ljava/util/Hashtable;
            astore 3 /* aclTable */
        start local 3 // java.util.Hashtable aclTable
         3: .line 136
            aload 2 /* entry */
            invokeinterface java.security.acl.AclEntry.getPrincipal:()Ljava/security/Principal;
            astore 4 /* key */
        start local 4 // java.security.Principal key
         4: .line 138
            aload 3 /* aclTable */
            aload 4 /* key */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 5 /* o */
        start local 5 // java.security.acl.AclEntry o
         5: .line 139
            aload 5 /* o */
            ifnull 6
            iconst_1
            ireturn
      StackMap locals: java.util.Hashtable java.security.Principal java.security.acl.AclEntry
      StackMap stack:
         6: iconst_0
            ireturn
        end local 5 // java.security.acl.AclEntry o
        end local 4 // java.security.Principal key
        end local 3 // java.util.Hashtable aclTable
        end local 2 // java.security.acl.AclEntry entry
        end local 1 // java.security.Principal caller
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/security/acl/AclImpl;
            0    7     1    caller  Ljava/security/Principal;
            0    7     2     entry  Ljava/security/acl/AclEntry;
            3    7     3  aclTable  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;
            4    7     4       key  Ljava/security/Principal;
            5    7     5         o  Ljava/security/acl/AclEntry;
    Exceptions:
      throws java.security.acl.NotOwnerException
    MethodParameters:
        Name  Flags
      caller  
      entry   

  public synchronized java.util.Enumeration<java.security.acl.Permission> getPermissions(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/util/Enumeration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal user
         0: .line 185
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getGroupPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getGroupNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
         1: .line 184
            astore 4 /* groupPositive */
        start local 4 // java.util.Enumeration groupPositive
         2: .line 187
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getGroupNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getGroupPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
         3: .line 186
            astore 5 /* groupNegative */
        start local 5 // java.util.Enumeration groupNegative
         4: .line 189
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
         5: .line 188
            astore 2 /* individualPositive */
        start local 2 // java.util.Enumeration individualPositive
         6: .line 191
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
         7: .line 190
            astore 3 /* individualNegative */
        start local 3 // java.util.Enumeration individualNegative
         8: .line 198
            aload 0 /* this */
            aload 4 /* groupPositive */
            aload 3 /* individualNegative */
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
         9: .line 197
            astore 6 /* temp1 */
        start local 6 // java.util.Enumeration temp1
        10: .line 200
            aload 2 /* individualPositive */
            aload 6 /* temp1 */
            invokestatic sun.security.acl.AclImpl.union:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
        11: .line 199
            astore 7 /* netPositive */
        start local 7 // java.util.Enumeration netPositive
        12: .line 206
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
        13: .line 205
            astore 2 /* individualPositive */
        14: .line 208
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualNegative:(Ljava/security/Principal;)Ljava/util/Enumeration;
            aload 0 /* this */
            aload 1 /* user */
            invokevirtual sun.security.acl.AclImpl.getIndividualPositive:(Ljava/security/Principal;)Ljava/util/Enumeration;
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
        15: .line 207
            astore 3 /* individualNegative */
        16: .line 214
            aload 0 /* this */
            aload 5 /* groupNegative */
            aload 2 /* individualPositive */
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            astore 6 /* temp1 */
        17: .line 215
            aload 3 /* individualNegative */
            aload 6 /* temp1 */
            invokestatic sun.security.acl.AclImpl.union:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            astore 8 /* netNegative */
        start local 8 // java.util.Enumeration netNegative
        18: .line 217
            aload 0 /* this */
            aload 7 /* netPositive */
            aload 8 /* netNegative */
            invokevirtual sun.security.acl.AclImpl.subtract:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            areturn
        end local 8 // java.util.Enumeration netNegative
        end local 7 // java.util.Enumeration netPositive
        end local 6 // java.util.Enumeration temp1
        end local 5 // java.util.Enumeration groupNegative
        end local 4 // java.util.Enumeration groupPositive
        end local 3 // java.util.Enumeration individualNegative
        end local 2 // java.util.Enumeration individualPositive
        end local 1 // java.security.Principal user
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lsun/security/acl/AclImpl;
            0   19     1                user  Ljava/security/Principal;
            6   19     2  individualPositive  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            8   19     3  individualNegative  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            2   19     4       groupPositive  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            4   19     5       groupNegative  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
           10   19     6               temp1  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
           12   19     7         netPositive  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
           18   19     8         netNegative  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    Signature: (Ljava/security/Principal;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      user  

  public boolean checkPermission(java.security.Principal, java.security.acl.Permission);
    descriptor: (Ljava/security/Principal;Ljava/security/acl/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal principal
        start local 2 // java.security.acl.Permission permission
         0: .line 233
            aload 0 /* this */
            aload 1 /* principal */
            invokevirtual sun.security.acl.AclImpl.getPermissions:(Ljava/security/Principal;)Ljava/util/Enumeration;
            astore 3 /* permSet */
        start local 3 // java.util.Enumeration permSet
         1: .line 234
            goto 5
         2: .line 235
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* permSet */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Permission
            astore 4 /* p */
        start local 4 // java.security.acl.Permission p
         3: .line 236
            aload 4 /* p */
            aload 2 /* permission */
            invokeinterface java.security.acl.Permission.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 237
            iconst_1
            ireturn
        end local 4 // java.security.acl.Permission p
         5: .line 234
      StackMap locals:
      StackMap stack:
            aload 3 /* permSet */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         6: .line 239
            iconst_0
            ireturn
        end local 3 // java.util.Enumeration permSet
        end local 2 // java.security.acl.Permission permission
        end local 1 // java.security.Principal principal
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/security/acl/AclImpl;
            0    7     1   principal  Ljava/security/Principal;
            0    7     2  permission  Ljava/security/acl/Permission;
            1    7     3     permSet  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            3    5     4           p  Ljava/security/acl/Permission;
    MethodParameters:
            Name  Flags
      principal   
      permission  

  public synchronized java.util.Enumeration<java.security.acl.AclEntry> entries();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // sun.security.acl.AclImpl this
         0: .line 246
            new sun.security.acl.AclEnumerator
            dup
            aload 0 /* this */
         1: .line 247
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedUsersTable:Ljava/util/Hashtable;
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedGroupsTable:Ljava/util/Hashtable;
         2: .line 248
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedUsersTable:Ljava/util/Hashtable;
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedGroupsTable:Ljava/util/Hashtable;
         3: .line 246
            invokespecial sun.security.acl.AclEnumerator.<init>:(Ljava/security/acl/Acl;Ljava/util/Hashtable;Ljava/util/Hashtable;Ljava/util/Hashtable;Ljava/util/Hashtable;)V
            areturn
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/acl/AclImpl;
    Signature: ()Ljava/util/Enumeration<Ljava/security/acl/AclEntry;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.security.acl.AclImpl this
         0: .line 256
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 257
            aload 0 /* this */
            invokevirtual sun.security.acl.AclImpl.entries:()Ljava/util/Enumeration;
            astore 2 /* entries */
        start local 2 // java.util.Enumeration entries
         2: .line 258
            goto 6
         3: .line 259
      StackMap locals: java.lang.StringBuffer java.util.Enumeration
      StackMap stack:
            aload 2 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 3 /* entry */
        start local 3 // java.security.acl.AclEntry entry
         4: .line 260
            aload 1 /* sb */
            aload 3 /* entry */
            invokeinterface java.security.acl.AclEntry.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 261
            aload 1 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.security.acl.AclEntry entry
         6: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         7: .line 264
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.Enumeration entries
        end local 1 // java.lang.StringBuffer sb
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/security/acl/AclImpl;
            1    8     1       sb  Ljava/lang/StringBuffer;
            2    8     2  entries  Ljava/util/Enumeration<Ljava/security/acl/AclEntry;>;
            4    6     3    entry  Ljava/security/acl/AclEntry;

  private java.util.Hashtable<java.security.Principal, java.security.acl.AclEntry> findTable(java.security.acl.AclEntry);
    descriptor: (Ljava/security/acl/AclEntry;)Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.acl.AclEntry entry
         0: .line 275
            aconst_null
            astore 2 /* aclTable */
        start local 2 // java.util.Hashtable aclTable
         1: .line 277
            aload 1 /* entry */
            invokeinterface java.security.acl.AclEntry.getPrincipal:()Ljava/security/Principal;
            astore 3 /* p */
        start local 3 // java.security.Principal p
         2: .line 278
            aload 3 /* p */
            instanceof java.security.acl.Group
            ifeq 7
         3: .line 279
            aload 1 /* entry */
            invokeinterface java.security.acl.AclEntry.isNegative:()Z
            ifeq 5
         4: .line 280
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedGroupsTable:Ljava/util/Hashtable;
            astore 2 /* aclTable */
            goto 10
         5: .line 282
      StackMap locals: java.util.Hashtable java.security.Principal
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedGroupsTable:Ljava/util/Hashtable;
            astore 2 /* aclTable */
         6: .line 283
            goto 10
         7: .line 284
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            invokeinterface java.security.acl.AclEntry.isNegative:()Z
            ifeq 9
         8: .line 285
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedUsersTable:Ljava/util/Hashtable;
            astore 2 /* aclTable */
            goto 10
         9: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedUsersTable:Ljava/util/Hashtable;
            astore 2 /* aclTable */
        10: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* aclTable */
            areturn
        end local 3 // java.security.Principal p
        end local 2 // java.util.Hashtable aclTable
        end local 1 // java.security.acl.AclEntry entry
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lsun/security/acl/AclImpl;
            0   11     1     entry  Ljava/security/acl/AclEntry;
            1   11     2  aclTable  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;
            2   11     3         p  Ljava/security/Principal;
    Signature: (Ljava/security/acl/AclEntry;)Ljava/util/Hashtable<Ljava/security/Principal;Ljava/security/acl/AclEntry;>;
    MethodParameters:
       Name  Flags
      entry  

  private static java.util.Enumeration<java.security.acl.Permission> union(java.util.Enumeration<java.security.acl.Permission>, java.util.Enumeration<java.security.acl.Permission>);
    descriptor: (Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.Enumeration e1
        start local 1 // java.util.Enumeration e2
         0: .line 297
            new java.util.Vector
            dup
            bipush 20
            bipush 20
            invokespecial java.util.Vector.<init>:(II)V
            astore 2 /* v */
        start local 2 // java.util.Vector v
         1: .line 299
            goto 3
         2: .line 300
      StackMap locals: java.util.Vector
      StackMap stack:
            aload 2 /* v */
            aload 0 /* e1 */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Permission
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         3: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         4: .line 302
            goto 8
         5: .line 303
      StackMap locals:
      StackMap stack:
            aload 1 /* e2 */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Permission
            astore 3 /* o */
        start local 3 // java.security.acl.Permission o
         6: .line 304
            aload 2 /* v */
            aload 3 /* o */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 305
            aload 2 /* v */
            aload 3 /* o */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 3 // java.security.acl.Permission o
         8: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* e2 */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
         9: .line 308
            aload 2 /* v */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            areturn
        end local 2 // java.util.Vector v
        end local 1 // java.util.Enumeration e2
        end local 0 // java.util.Enumeration e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    e1  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            0   10     1    e2  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            1   10     2     v  Ljava/util/Vector<Ljava/security/acl/Permission;>;
            6    8     3     o  Ljava/security/acl/Permission;
    Signature: (Ljava/util/Enumeration<Ljava/security/acl/Permission;>;Ljava/util/Enumeration<Ljava/security/acl/Permission;>;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  private java.util.Enumeration<java.security.acl.Permission> subtract(java.util.Enumeration<java.security.acl.Permission>, java.util.Enumeration<java.security.acl.Permission>);
    descriptor: (Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.util.Enumeration e1
        start local 2 // java.util.Enumeration e2
         0: .line 316
            new java.util.Vector
            dup
            bipush 20
            bipush 20
            invokespecial java.util.Vector.<init>:(II)V
            astore 3 /* v */
        start local 3 // java.util.Vector v
         1: .line 318
            goto 3
         2: .line 319
      StackMap locals: java.util.Vector
      StackMap stack:
            aload 3 /* v */
            aload 1 /* e1 */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Permission
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         3: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* e1 */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         4: .line 321
            goto 8
         5: .line 322
      StackMap locals:
      StackMap stack:
            aload 2 /* e2 */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Permission
            astore 4 /* o */
        start local 4 // java.security.acl.Permission o
         6: .line 323
            aload 3 /* v */
            aload 4 /* o */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 324
            aload 3 /* v */
            aload 4 /* o */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.security.acl.Permission o
         8: .line 321
      StackMap locals:
      StackMap stack:
            aload 2 /* e2 */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
         9: .line 327
            aload 3 /* v */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            areturn
        end local 3 // java.util.Vector v
        end local 2 // java.util.Enumeration e2
        end local 1 // java.util.Enumeration e1
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/acl/AclImpl;
            0   10     1    e1  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            0   10     2    e2  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            1   10     3     v  Ljava/util/Vector<Ljava/security/acl/Permission;>;
            6    8     4     o  Ljava/security/acl/Permission;
    Signature: (Ljava/util/Enumeration<Ljava/security/acl/Permission;>;Ljava/util/Enumeration<Ljava/security/acl/Permission;>;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  private java.util.Enumeration<java.security.acl.Permission> getGroupPositive(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal user
         0: .line 331
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.zeroSet:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 2 /* groupPositive */
        start local 2 // java.util.Enumeration groupPositive
         1: .line 332
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedGroupsTable:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         2: .line 333
            goto 7
         3: .line 334
      StackMap locals: java.util.Enumeration java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Group
            astore 4 /* g */
        start local 4 // java.security.acl.Group g
         4: .line 335
            aload 4 /* g */
            aload 1 /* user */
            invokeinterface java.security.acl.Group.isMember:(Ljava/security/Principal;)Z
            ifeq 7
         5: .line 336
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedGroupsTable:Ljava/util/Hashtable;
            aload 4 /* g */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 5 /* ae */
        start local 5 // java.security.acl.AclEntry ae
         6: .line 337
            aload 5 /* ae */
            invokeinterface java.security.acl.AclEntry.permissions:()Ljava/util/Enumeration;
            aload 2 /* groupPositive */
            invokestatic sun.security.acl.AclImpl.union:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            astore 2 /* groupPositive */
        end local 5 // java.security.acl.AclEntry ae
        end local 4 // java.security.acl.Group g
         7: .line 333
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         8: .line 340
            aload 2 /* groupPositive */
            areturn
        end local 3 // java.util.Enumeration e
        end local 2 // java.util.Enumeration groupPositive
        end local 1 // java.security.Principal user
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lsun/security/acl/AclImpl;
            0    9     1           user  Ljava/security/Principal;
            1    9     2  groupPositive  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            2    9     3              e  Ljava/util/Enumeration<Ljava/security/Principal;>;
            4    7     4              g  Ljava/security/acl/Group;
            6    7     5             ae  Ljava/security/acl/AclEntry;
    Signature: (Ljava/security/Principal;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      user  

  private java.util.Enumeration<java.security.acl.Permission> getGroupNegative(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal user
         0: .line 344
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.zeroSet:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 2 /* groupNegative */
        start local 2 // java.util.Enumeration groupNegative
         1: .line 345
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedGroupsTable:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         2: .line 346
            goto 7
         3: .line 347
      StackMap locals: java.util.Enumeration java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.acl.Group
            astore 4 /* g */
        start local 4 // java.security.acl.Group g
         4: .line 348
            aload 4 /* g */
            aload 1 /* user */
            invokeinterface java.security.acl.Group.isMember:(Ljava/security/Principal;)Z
            ifeq 7
         5: .line 349
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedGroupsTable:Ljava/util/Hashtable;
            aload 4 /* g */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 5 /* ae */
        start local 5 // java.security.acl.AclEntry ae
         6: .line 350
            aload 5 /* ae */
            invokeinterface java.security.acl.AclEntry.permissions:()Ljava/util/Enumeration;
            aload 2 /* groupNegative */
            invokestatic sun.security.acl.AclImpl.union:(Ljava/util/Enumeration;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            astore 2 /* groupNegative */
        end local 5 // java.security.acl.AclEntry ae
        end local 4 // java.security.acl.Group g
         7: .line 346
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         8: .line 353
            aload 2 /* groupNegative */
            areturn
        end local 3 // java.util.Enumeration e
        end local 2 // java.util.Enumeration groupNegative
        end local 1 // java.security.Principal user
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lsun/security/acl/AclImpl;
            0    9     1           user  Ljava/security/Principal;
            1    9     2  groupNegative  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            2    9     3              e  Ljava/util/Enumeration<Ljava/security/Principal;>;
            4    7     4              g  Ljava/security/acl/Group;
            6    7     5             ae  Ljava/security/acl/AclEntry;
    Signature: (Ljava/security/Principal;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      user  

  private java.util.Enumeration<java.security.acl.Permission> getIndividualPositive(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal user
         0: .line 357
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.zeroSet:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 2 /* individualPositive */
        start local 2 // java.util.Enumeration individualPositive
         1: .line 358
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.allowedUsersTable:Ljava/util/Hashtable;
            aload 1 /* user */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 3 /* ae */
        start local 3 // java.security.acl.AclEntry ae
         2: .line 359
            aload 3 /* ae */
            ifnull 4
         3: .line 360
            aload 3 /* ae */
            invokeinterface java.security.acl.AclEntry.permissions:()Ljava/util/Enumeration;
            astore 2 /* individualPositive */
         4: .line 361
      StackMap locals: java.util.Enumeration java.security.acl.AclEntry
      StackMap stack:
            aload 2 /* individualPositive */
            areturn
        end local 3 // java.security.acl.AclEntry ae
        end local 2 // java.util.Enumeration individualPositive
        end local 1 // java.security.Principal user
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lsun/security/acl/AclImpl;
            0    5     1                user  Ljava/security/Principal;
            1    5     2  individualPositive  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            2    5     3                  ae  Ljava/security/acl/AclEntry;
    Signature: (Ljava/security/Principal;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      user  

  private java.util.Enumeration<java.security.acl.Permission> getIndividualNegative(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.acl.AclImpl this
        start local 1 // java.security.Principal user
         0: .line 365
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.zeroSet:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 2 /* individualNegative */
        start local 2 // java.util.Enumeration individualNegative
         1: .line 366
            aload 0 /* this */
            getfield sun.security.acl.AclImpl.deniedUsersTable:Ljava/util/Hashtable;
            aload 1 /* user */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.acl.AclEntry
            astore 3 /* ae */
        start local 3 // java.security.acl.AclEntry ae
         2: .line 367
            aload 3 /* ae */
            ifnull 4
         3: .line 368
            aload 3 /* ae */
            invokeinterface java.security.acl.AclEntry.permissions:()Ljava/util/Enumeration;
            astore 2 /* individualNegative */
         4: .line 369
      StackMap locals: java.util.Enumeration java.security.acl.AclEntry
      StackMap stack:
            aload 2 /* individualNegative */
            areturn
        end local 3 // java.security.acl.AclEntry ae
        end local 2 // java.util.Enumeration individualNegative
        end local 1 // java.security.Principal user
        end local 0 // sun.security.acl.AclImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lsun/security/acl/AclImpl;
            0    5     1                user  Ljava/security/Principal;
            1    5     2  individualNegative  Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
            2    5     3                  ae  Ljava/security/acl/AclEntry;
    Signature: (Ljava/security/Principal;)Ljava/util/Enumeration<Ljava/security/acl/Permission;>;
    MethodParameters:
      Name  Flags
      user  
}
SourceFile: "AclImpl.java"