class javax.security.auth.Subject$SecureSet<E> extends java.util.AbstractSet<E> implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.security.auth.Subject$SecureSet
  super_class: java.util.AbstractSet
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7911754171111800359

  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  javax.security.auth.Subject subject;
    descriptor: Ljavax/security/auth/Subject;
    flags: (0x0000) 

  java.util.LinkedList<E> elements;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0000) 
    Signature: Ljava/util/LinkedList<TE;>;

  private int which;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 1010
            iconst_3
            anewarray java.io.ObjectStreamField
            dup
            iconst_0
         1: .line 1011
            new java.io.ObjectStreamField
            dup
            ldc "this$0"
            ldc Ljavax/security/auth/Subject;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_1
         2: .line 1012
            new java.io.ObjectStreamField
            dup
            ldc "elements"
            ldc Ljava/util/LinkedList;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_2
         3: .line 1013
            new java.io.ObjectStreamField
            dup
            ldc "which"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
         4: .line 1010
            putstatic javax.security.auth.Subject$SecureSet.serialPersistentFields:[Ljava/io/ObjectStreamField;
         5: .line 1014
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(javax.security.auth.Subject, int);
    descriptor: (Ljavax/security/auth/Subject;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // javax.security.auth.Subject subject
        start local 2 // int which
         0: .line 1031
            aload 0 /* this */
            invokespecial java.util.AbstractSet.<init>:()V
         1: .line 1032
            aload 0 /* this */
            aload 1 /* subject */
            putfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
         2: .line 1033
            aload 0 /* this */
            iload 2 /* which */
            putfield javax.security.auth.Subject$SecureSet.which:I
         3: .line 1034
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
         4: .line 1035
            return
        end local 2 // int which
        end local 1 // javax.security.auth.Subject subject
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0    5     1  subject  Ljavax/security/auth/Subject;
            0    5     2    which  I
    MethodParameters:
         Name  Flags
      subject  
      which    

  void <init>(javax.security.auth.Subject, int, java.util.Set<? extends E>);
    descriptor: (Ljavax/security/auth/Subject;ILjava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // javax.security.auth.Subject subject
        start local 2 // int which
        start local 3 // java.util.Set set
         0: .line 1037
            aload 0 /* this */
            invokespecial java.util.AbstractSet.<init>:()V
         1: .line 1038
            aload 0 /* this */
            aload 1 /* subject */
            putfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
         2: .line 1039
            aload 0 /* this */
            iload 2 /* which */
            putfield javax.security.auth.Subject$SecureSet.which:I
         3: .line 1040
            aload 0 /* this */
            new java.util.LinkedList
            dup
            aload 3 /* set */
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            putfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
         4: .line 1041
            return
        end local 3 // java.util.Set set
        end local 2 // int which
        end local 1 // javax.security.auth.Subject subject
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0    5     1  subject  Ljavax/security/auth/Subject;
            0    5     2    which  I
            0    5     3      set  Ljava/util/Set<+TE;>;
    Signature: (Ljavax/security/auth/Subject;ILjava/util/Set<+TE;>;)V
    MethodParameters:
         Name  Flags
      subject  
      which    
      set      

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.security.auth.Subject$SecureSet this
         0: .line 1044
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ireturn
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;

  public java.util.Iterator<E> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.security.auth.Subject$SecureSet this
         0: .line 1048
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
            astore 1 /* list */
        start local 1 // java.util.LinkedList list
         1: .line 1049
            new javax.security.auth.Subject$SecureSet$1
            dup
            aload 0 /* this */
            aload 1 /* list */
            invokespecial javax.security.auth.Subject$SecureSet$1.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/LinkedList;)V
            areturn
        end local 1 // java.util.LinkedList list
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            1    2     1  list  Ljava/util/LinkedList<TE;>;
    Signature: ()Ljava/util/Iterator<TE;>;

  public boolean add();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.lang.Object o
         0: .line 1101
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
            invokevirtual javax.security.auth.Subject.isReadOnly:()Z
            ifeq 4
         1: .line 1102
            new java.lang.IllegalStateException
            dup
         2: .line 1103
            ldc "Subject.is.read.only"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1102
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1106
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         5: .line 1107
            aload 2 /* sm */
            ifnull 12
         6: .line 1108
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            tableswitch { // 1 - 2
                    1: 7
                    2: 9
              default: 11
          }
         7: .line 1110
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* sm */
            getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PRINCIPALS_PERMISSION:Ljavax/security/auth/AuthPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         8: .line 1111
            goto 12
         9: .line 1113
      StackMap locals:
      StackMap stack:
            aload 2 /* sm */
            getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PUBLIC_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        10: .line 1114
            goto 12
        11: .line 1116
      StackMap locals:
      StackMap stack:
            aload 2 /* sm */
            getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PRIVATE_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        12: .line 1121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            tableswitch { // 1 - 1
                    1: 13
              default: 17
          }
        13: .line 1123
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.Principal
            ifne 17
        14: .line 1124
            new java.lang.SecurityException
            dup
        15: .line 1125
            ldc "attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set"
        16: .line 1124
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
            aload 1 /* o */
            invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 1135
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
            aload 1 /* o */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            ireturn
        19: .line 1137
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Object o
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   20     1     o  TE;
            5   20     2    sm  Ljava/lang/SecurityManager;
    Signature: (TE;)Z
    MethodParameters:
      Name  Flags
      o     

  public boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.lang.Object o
         0: .line 1142
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 2 /* e */
        start local 2 // java.util.Iterator e
         1: .line 1143
            goto 14
         2: .line 1145
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpeq 5
         3: .line 1146
            aload 2 /* e */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* next */
        start local 3 // java.lang.Object next
         4: .line 1147
            goto 7
        end local 3 // java.lang.Object next
         5: .line 1149
      StackMap locals:
      StackMap stack:
            new javax.security.auth.Subject$SecureSet$2
            dup
            aload 0 /* this */
            aload 2 /* e */
            invokespecial javax.security.auth.Subject$SecureSet$2.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/Iterator;)V
         6: .line 1148
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 3 /* next */
        start local 3 // java.lang.Object next
         7: .line 1156
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* next */
            ifnonnull 11
         8: .line 1157
            aload 1 /* o */
            ifnonnull 14
         9: .line 1158
            aload 2 /* e */
            invokeinterface java.util.Iterator.remove:()V
        10: .line 1159
            iconst_1
            ireturn
        11: .line 1161
      StackMap locals:
      StackMap stack:
            aload 3 /* next */
            aload 1 /* o */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 1162
            aload 2 /* e */
            invokeinterface java.util.Iterator.remove:()V
        13: .line 1163
            iconst_1
            ireturn
        end local 3 // java.lang.Object next
        14: .line 1143
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        15: .line 1166
            iconst_0
            ireturn
        end local 2 // java.util.Iterator e
        end local 1 // java.lang.Object o
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   16     1     o  Ljava/lang/Object;
            1   16     2     e  Ljava/util/Iterator<TE;>;
            4    5     3  next  TE;
            7   14     3  next  TE;
    MethodParameters:
      Name  Flags
      o     

  public boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.lang.Object o
         0: .line 1170
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 2 /* e */
        start local 2 // java.util.Iterator e
         1: .line 1171
            goto 18
         2: .line 1173
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpeq 5
         3: .line 1174
            aload 2 /* e */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* next */
        start local 3 // java.lang.Object next
         4: .line 1175
            goto 13
        end local 3 // java.lang.Object next
         5: .line 1183
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 4 /* sm */
        start local 4 // java.lang.SecurityManager sm
         6: .line 1184
            aload 4 /* sm */
            ifnull 11
         7: .line 1185
            aload 4 /* sm */
            new javax.security.auth.PrivateCredentialPermission
            dup
         8: .line 1186
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         9: .line 1187
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
            invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
            invokespecial javax.security.auth.PrivateCredentialPermission.<init>:(Ljava/lang/String;Ljava/util/Set;)V
        10: .line 1185
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        11: .line 1190
      StackMap locals: javax.security.auth.Subject$SecureSet java.lang.Object java.util.Iterator top java.lang.SecurityManager
      StackMap stack:
            new javax.security.auth.Subject$SecureSet$3
            dup
            aload 0 /* this */
            aload 2 /* e */
            invokespecial javax.security.auth.Subject$SecureSet$3.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/Iterator;)V
        12: .line 1189
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 3 /* next */
        end local 4 // java.lang.SecurityManager sm
        start local 3 // java.lang.Object next
        13: .line 1197
      StackMap locals: javax.security.auth.Subject$SecureSet java.lang.Object java.util.Iterator java.lang.Object
      StackMap stack:
            aload 3 /* next */
            ifnonnull 16
        14: .line 1198
            aload 1 /* o */
            ifnonnull 18
        15: .line 1199
            iconst_1
            ireturn
        16: .line 1201
      StackMap locals:
      StackMap stack:
            aload 3 /* next */
            aload 1 /* o */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 1202
            iconst_1
            ireturn
        end local 3 // java.lang.Object next
        18: .line 1171
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        19: .line 1205
            iconst_0
            ireturn
        end local 2 // java.util.Iterator e
        end local 1 // java.lang.Object o
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   20     1     o  Ljava/lang/Object;
            1   20     2     e  Ljava/util/Iterator<TE;>;
            4    5     3  next  TE;
           13   18     3  next  TE;
            6   13     4    sm  Ljava/lang/SecurityManager;
    MethodParameters:
      Name  Flags
      o     

  public boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.util.Collection c
         0: .line 1209
            aload 1 /* c */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1210
            iconst_0
            istore 2 /* modified */
        start local 2 // boolean modified
         2: .line 1211
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 3 /* e */
        start local 3 // java.util.Iterator e
         3: .line 1212
            goto 22
         4: .line 1214
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpeq 7
         5: .line 1215
            aload 3 /* e */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* next */
        start local 4 // java.lang.Object next
         6: .line 1216
            goto 9
        end local 4 // java.lang.Object next
         7: .line 1218
      StackMap locals:
      StackMap stack:
            new javax.security.auth.Subject$SecureSet$4
            dup
            aload 0 /* this */
            aload 3 /* e */
            invokespecial javax.security.auth.Subject$SecureSet$4.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/Iterator;)V
         8: .line 1217
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 4 /* next */
        start local 4 // java.lang.Object next
         9: .line 1225
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* ce */
        start local 5 // java.util.Iterator ce
        10: .line 1226
            goto 21
        11: .line 1227
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* ce */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
        12: .line 1228
            aload 4 /* next */
            ifnonnull 17
        13: .line 1229
            aload 6 /* o */
            ifnonnull 21
        14: .line 1230
            aload 3 /* e */
            invokeinterface java.util.Iterator.remove:()V
        15: .line 1231
            iconst_1
            istore 2 /* modified */
        16: .line 1232
            goto 22
        17: .line 1234
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* next */
            aload 6 /* o */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 1235
            aload 3 /* e */
            invokeinterface java.util.Iterator.remove:()V
        19: .line 1236
            iconst_1
            istore 2 /* modified */
        20: .line 1237
            goto 22
        end local 6 // java.lang.Object o
        21: .line 1226
      StackMap locals:
      StackMap stack:
            aload 5 /* ce */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 5 // java.util.Iterator ce
        end local 4 // java.lang.Object next
        22: .line 1212
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        23: .line 1241
            iload 2 /* modified */
            ireturn
        end local 3 // java.util.Iterator e
        end local 2 // boolean modified
        end local 1 // java.util.Collection c
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   24     1         c  Ljava/util/Collection<*>;
            2   24     2  modified  Z
            3   24     3         e  Ljava/util/Iterator<TE;>;
            6    7     4      next  TE;
            9   22     4      next  TE;
           10   22     5        ce  Ljava/util/Iterator<*>;
           12   21     6         o  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public boolean retainAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.util.Collection c
         0: .line 1245
            aload 1 /* c */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1246
            iconst_0
            istore 2 /* modified */
        start local 2 // boolean modified
         2: .line 1247
            iconst_0
            istore 3 /* retain */
        start local 3 // boolean retain
         3: .line 1248
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 4 /* e */
        start local 4 // java.util.Iterator e
         4: .line 1249
            goto 26
         5: .line 1250
      StackMap locals: int int java.util.Iterator
      StackMap stack:
            iconst_0
            istore 3 /* retain */
         6: .line 1252
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpeq 9
         7: .line 1253
            aload 4 /* e */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* next */
        start local 5 // java.lang.Object next
         8: .line 1254
            goto 11
        end local 5 // java.lang.Object next
         9: .line 1256
      StackMap locals:
      StackMap stack:
            new javax.security.auth.Subject$SecureSet$5
            dup
            aload 0 /* this */
            aload 4 /* e */
            invokespecial javax.security.auth.Subject$SecureSet$5.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/Iterator;)V
        10: .line 1255
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 5 /* next */
        start local 5 // java.lang.Object next
        11: .line 1263
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6 /* ce */
        start local 6 // java.util.Iterator ce
        12: .line 1264
            goto 21
        13: .line 1265
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* ce */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* o */
        start local 7 // java.lang.Object o
        14: .line 1266
            aload 5 /* next */
            ifnonnull 18
        15: .line 1267
            aload 7 /* o */
            ifnonnull 21
        16: .line 1268
            iconst_1
            istore 3 /* retain */
        17: .line 1269
            goto 22
        18: .line 1271
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* next */
            aload 7 /* o */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 1272
            iconst_1
            istore 3 /* retain */
        20: .line 1273
            goto 22
        end local 7 // java.lang.Object o
        21: .line 1264
      StackMap locals:
      StackMap stack:
            aload 6 /* ce */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        22: .line 1277
      StackMap locals:
      StackMap stack:
            iload 3 /* retain */
            ifne 26
        23: .line 1278
            aload 4 /* e */
            invokeinterface java.util.Iterator.remove:()V
        24: .line 1279
            iconst_0
            istore 3 /* retain */
        25: .line 1280
            iconst_1
            istore 2 /* modified */
        end local 6 // java.util.Iterator ce
        end local 5 // java.lang.Object next
        26: .line 1249
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        27: .line 1283
            iload 2 /* modified */
            ireturn
        end local 4 // java.util.Iterator e
        end local 3 // boolean retain
        end local 2 // boolean modified
        end local 1 // java.util.Collection c
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   28     1         c  Ljava/util/Collection<*>;
            2   28     2  modified  Z
            3   28     3    retain  Z
            4   28     4         e  Ljava/util/Iterator<TE;>;
            8    9     5      next  TE;
           11   26     5      next  TE;
           12   26     6        ce  Ljava/util/Iterator<*>;
           14   21     7         o  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.security.auth.Subject$SecureSet this
         0: .line 1287
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 1 /* e */
        start local 1 // java.util.Iterator e
         1: .line 1288
            goto 8
         2: .line 1290
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpeq 5
         3: .line 1291
            aload 1 /* e */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         4: .line 1292
            goto 7
         5: .line 1294
      StackMap locals:
      StackMap stack:
            new javax.security.auth.Subject$SecureSet$6
            dup
            aload 0 /* this */
            aload 1 /* e */
            invokespecial javax.security.auth.Subject$SecureSet$6.<init>:(Ljavax/security/auth/Subject$SecureSet;Ljava/util/Iterator;)V
         6: .line 1293
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         7: .line 1300
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokeinterface java.util.Iterator.remove:()V
         8: .line 1288
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1302
            return
        end local 1 // java.util.Iterator e
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            1   10     1     e  Ljava/util/Iterator<TE;>;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 1318
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            iconst_3
            if_icmpne 5
         1: .line 1320
            aload 0 /* this */
            invokevirtual javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         2: .line 1321
            goto 4
         3: .line 1322
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         4: .line 1321
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator i
         5: .line 1325
      StackMap locals:
      StackMap stack:
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.putFields:()Ljava/io/ObjectOutputStream$PutField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectOutputStream$PutField fields
         6: .line 1326
            aload 2 /* fields */
            ldc "this$0"
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 1327
            aload 2 /* fields */
            ldc "elements"
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 1328
            aload 2 /* fields */
            ldc "which"
            aload 0 /* this */
            getfield javax.security.auth.Subject$SecureSet.which:I
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;I)V
         9: .line 1329
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.writeFields:()V
        10: .line 1330
            return
        end local 2 // java.io.ObjectOutputStream$PutField fields
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0   11     1     oos  Ljava/io/ObjectOutputStream;
            2    5     2       i  Ljava/util/Iterator<TE;>;
            6   11     2  fields  Ljava/io/ObjectOutputStream$PutField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.security.auth.Subject$SecureSet this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 1336
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectInputStream$GetField fields
         1: .line 1337
            aload 0 /* this */
            aload 2 /* fields */
            ldc "this$0"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.security.auth.Subject
            putfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
         2: .line 1338
            aload 0 /* this */
            aload 2 /* fields */
            ldc "which"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
            putfield javax.security.auth.Subject$SecureSet.which:I
         3: .line 1340
            aload 2 /* fields */
            ldc "elements"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.LinkedList
            astore 3 /* tmp */
        start local 3 // java.util.LinkedList tmp
         4: .line 1341
            aload 3 /* tmp */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/LinkedList;
            if_acmpeq 7
         5: .line 1342
            aload 0 /* this */
            new java.util.LinkedList
            dup
            aload 3 /* tmp */
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            putfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
         6: .line 1343
            goto 8
         7: .line 1344
      StackMap locals: java.io.ObjectInputStream$GetField java.util.LinkedList
      StackMap stack:
            aload 0 /* this */
            aload 3 /* tmp */
            putfield javax.security.auth.Subject$SecureSet.elements:Ljava/util/LinkedList;
         8: .line 1346
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.LinkedList tmp
        end local 2 // java.io.ObjectInputStream$GetField fields
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // javax.security.auth.Subject$SecureSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/security/auth/Subject$SecureSet<TE;>;
            0    9     1     ois  Ljava/io/ObjectInputStream;
            1    9     2  fields  Ljava/io/ObjectInputStream$GetField;
            4    9     3     tmp  Ljava/util/LinkedList<TE;>;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   
}
Signature: <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/io/Serializable;
SourceFile: "Subject.java"
NestHost: javax.security.auth.Subject
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  public abstract PutField = java.io.ObjectOutputStream$PutField of java.io.ObjectOutputStream
  AuthPermissionHolder = javax.security.auth.Subject$AuthPermissionHolder of javax.security.auth.Subject
  private SecureSet = javax.security.auth.Subject$SecureSet of javax.security.auth.Subject
  javax.security.auth.Subject$SecureSet$1
  javax.security.auth.Subject$SecureSet$2
  javax.security.auth.Subject$SecureSet$3
  javax.security.auth.Subject$SecureSet$4
  javax.security.auth.Subject$SecureSet$5
  javax.security.auth.Subject$SecureSet$6