public abstract class java.util.EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet<E> implements java.lang.Cloneable, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.util.EnumSet
  super_class: java.util.AbstractSet
{
  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final java.lang.Class<E> elementType;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<TE;>;

  final java.lang.Enum<?>[] universe;
    descriptor: [Ljava/lang/Enum;
    flags: (0x0010) ACC_FINAL
    Signature: [Ljava/lang/Enum<*>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 88
            iconst_0
            anewarray java.io.ObjectStreamField
         1: .line 87
            putstatic java.util.EnumSet.serialPersistentFields:[Ljava/io/ObjectStreamField;
         2: .line 88
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.Enum<?>[] access$000();
    descriptor: ()[Ljava/lang/Enum;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()[Ljava/lang/Enum<*>;

  void <init>(java.lang.Class<E>, java.lang.Enum<?>[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Enum;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.util.EnumSet this
        start local 1 // java.lang.Class elementType
        start local 2 // java.lang.Enum[] universe
         0: .line 100
            aload 0 /* this */
            invokespecial java.util.AbstractSet.<init>:()V
         1: .line 101
            aload 0 /* this */
            aload 1 /* elementType */
            putfield java.util.EnumSet.elementType:Ljava/lang/Class;
         2: .line 102
            aload 0 /* this */
            aload 2 /* universe */
            putfield java.util.EnumSet.universe:[Ljava/lang/Enum;
         3: .line 103
            return
        end local 2 // java.lang.Enum[] universe
        end local 1 // java.lang.Class elementType
        end local 0 // java.util.EnumSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljava/util/EnumSet<TE;>;
            0    4     1  elementType  Ljava/lang/Class<TE;>;
            0    4     2     universe  [Ljava/lang/Enum;
    Signature: (Ljava/lang/Class<TE;>;[Ljava/lang/Enum<*>;)V
    MethodParameters:
             Name  Flags
      elementType  
      universe     

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(java.lang.Class<E>);
    descriptor: (Ljava/lang/Class;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 115
            aload 0 /* elementType */
            invokestatic java.util.EnumSet.getUniverse:(Ljava/lang/Class;)[Ljava/lang/Enum;
            astore 1 /* universe */
        start local 1 // java.lang.Enum[] universe
         1: .line 116
            aload 1 /* universe */
            ifnonnull 3
         2: .line 117
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* elementType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not an enum"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 119
      StackMap locals: java.lang.Enum[]
      StackMap stack:
            aload 1 /* universe */
            arraylength
            bipush 64
            if_icmpgt 5
         4: .line 120
            new java.util.RegularEnumSet
            dup
            aload 0 /* elementType */
            aload 1 /* universe */
            invokespecial java.util.RegularEnumSet.<init>:(Ljava/lang/Class;[Ljava/lang/Enum;)V
            areturn
         5: .line 122
      StackMap locals:
      StackMap stack:
            new java.util.JumboEnumSet
            dup
            aload 0 /* elementType */
            aload 1 /* universe */
            invokespecial java.util.JumboEnumSet.<init>:(Ljava/lang/Class;[Ljava/lang/Enum;)V
            areturn
        end local 1 // java.lang.Enum[] universe
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0  elementType  Ljava/lang/Class<TE;>;
            1    6     1     universe  [Ljava/lang/Enum;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/lang/Class<TE;>;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
             Name  Flags
      elementType  

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(java.lang.Class<E>);
    descriptor: (Ljava/lang/Class;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 136
            aload 0 /* elementType */
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 1 /* result */
        start local 1 // java.util.EnumSet result
         1: .line 137
            aload 1 /* result */
            invokevirtual java.util.EnumSet.addAll:()V
         2: .line 138
            aload 1 /* result */
            areturn
        end local 1 // java.util.EnumSet result
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Ljava/lang/Class<TE;>;
            1    3     1       result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/lang/Class<TE;>;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
             Name  Flags
      elementType  

  abstract void addAll();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
    descriptor: (Ljava/util/EnumSet;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.EnumSet s
         0: .line 157
            aload 0 /* s */
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            areturn
        end local 0 // java.util.EnumSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/util/EnumSet<TE;>;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      s     

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
    descriptor: (Ljava/util/Collection;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Collection c
         0: .line 175
            aload 0 /* c */
            instanceof java.util.EnumSet
            ifeq 2
         1: .line 176
            aload 0 /* c */
            checkcast java.util.EnumSet
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            areturn
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 4
         3: .line 179
            new java.lang.IllegalArgumentException
            dup
            ldc "Collection is empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         5: .line 181
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Enum
            astore 2 /* first */
        start local 2 // java.lang.Enum first
         6: .line 182
            aload 2 /* first */
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            astore 3 /* result */
        start local 3 // java.util.EnumSet result
         7: .line 183
            goto 9
         8: .line 184
      StackMap locals: java.util.Iterator java.lang.Enum java.util.EnumSet
      StackMap stack:
            aload 3 /* result */
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Enum
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         9: .line 183
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        10: .line 185
            aload 3 /* result */
            areturn
        end local 3 // java.util.EnumSet result
        end local 2 // java.lang.Enum first
        end local 1 // java.util.Iterator i
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0       c  Ljava/util/Collection<TE;>;
            5   11     1       i  Ljava/util/Iterator<TE;>;
            6   11     2   first  TE;
            7   11     3  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/util/Collection<TE;>;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      c     

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
    descriptor: (Ljava/util/EnumSet;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.util.EnumSet s
         0: .line 200
            aload 0 /* s */
            invokestatic java.util.EnumSet.copyOf:(Ljava/util/EnumSet;)Ljava/util/EnumSet;
            astore 1 /* result */
        start local 1 // java.util.EnumSet result
         1: .line 201
            aload 1 /* result */
            invokevirtual java.util.EnumSet.complement:()V
         2: .line 202
            aload 1 /* result */
            areturn
        end local 1 // java.util.EnumSet result
        end local 0 // java.util.EnumSet s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       s  Ljava/util/EnumSet<TE;>;
            1    3     1  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/util/EnumSet<TE;>;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      s     

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
    descriptor: (Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Enum e
         0: .line 220
            aload 0 /* e */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 1 /* result */
        start local 1 // java.util.EnumSet result
         1: .line 221
            aload 1 /* result */
            aload 0 /* e */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 222
            aload 1 /* result */
            areturn
        end local 1 // java.util.EnumSet result
        end local 0 // java.lang.Enum e
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       e  TE;
            1    3     1  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      e     

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Enum e1
        start local 1 // java.lang.Enum e2
         0: .line 241
            aload 0 /* e1 */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* result */
        start local 2 // java.util.EnumSet result
         1: .line 242
            aload 2 /* result */
            aload 0 /* e1 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 243
            aload 2 /* result */
            aload 1 /* e2 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 244
            aload 2 /* result */
            areturn
        end local 2 // java.util.EnumSet result
        end local 1 // java.lang.Enum e2
        end local 0 // java.lang.Enum e1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0      e1  TE;
            0    4     1      e2  TE;
            1    4     2  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.Enum e1
        start local 1 // java.lang.Enum e2
        start local 2 // java.lang.Enum e3
         0: .line 264
            aload 0 /* e1 */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 3 /* result */
        start local 3 // java.util.EnumSet result
         1: .line 265
            aload 3 /* result */
            aload 0 /* e1 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 266
            aload 3 /* result */
            aload 1 /* e2 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 267
            aload 3 /* result */
            aload 2 /* e3 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 268
            aload 3 /* result */
            areturn
        end local 3 // java.util.EnumSet result
        end local 2 // java.lang.Enum e3
        end local 1 // java.lang.Enum e2
        end local 0 // java.lang.Enum e1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      e1  TE;
            0    5     1      e2  TE;
            0    5     2      e3  TE;
            1    5     3  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;TE;TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // java.lang.Enum e1
        start local 1 // java.lang.Enum e2
        start local 2 // java.lang.Enum e3
        start local 3 // java.lang.Enum e4
         0: .line 289
            aload 0 /* e1 */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 4 /* result */
        start local 4 // java.util.EnumSet result
         1: .line 290
            aload 4 /* result */
            aload 0 /* e1 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 291
            aload 4 /* result */
            aload 1 /* e2 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 292
            aload 4 /* result */
            aload 2 /* e3 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 293
            aload 4 /* result */
            aload 3 /* e4 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 294
            aload 4 /* result */
            areturn
        end local 4 // java.util.EnumSet result
        end local 3 // java.lang.Enum e4
        end local 2 // java.lang.Enum e3
        end local 1 // java.lang.Enum e2
        end local 0 // java.lang.Enum e1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      e1  TE;
            0    6     1      e2  TE;
            0    6     2      e3  TE;
            0    6     3      e4  TE;
            1    6     4  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;TE;TE;TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // java.lang.Enum e1
        start local 1 // java.lang.Enum e2
        start local 2 // java.lang.Enum e3
        start local 3 // java.lang.Enum e4
        start local 4 // java.lang.Enum e5
         0: .line 318
            aload 0 /* e1 */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 5 /* result */
        start local 5 // java.util.EnumSet result
         1: .line 319
            aload 5 /* result */
            aload 0 /* e1 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 320
            aload 5 /* result */
            aload 1 /* e2 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 321
            aload 5 /* result */
            aload 2 /* e3 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 322
            aload 5 /* result */
            aload 3 /* e4 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 323
            aload 5 /* result */
            aload 4 /* e5 */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         6: .line 324
            aload 5 /* result */
            areturn
        end local 5 // java.util.EnumSet result
        end local 4 // java.lang.Enum e5
        end local 3 // java.lang.Enum e4
        end local 2 // java.lang.Enum e3
        end local 1 // java.lang.Enum e2
        end local 0 // java.lang.Enum e1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0      e1  TE;
            0    7     1      e2  TE;
            0    7     2      e3  TE;
            0    7     3      e4  TE;
            0    7     4      e5  TE;
            1    7     5  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;TE;TE;TE;TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E[]);
    descriptor: (Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Enum first
        start local 1 // java.lang.Enum[] rest
         0: .line 343
            aload 0 /* first */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* result */
        start local 2 // java.util.EnumSet result
         1: .line 344
            aload 2 /* result */
            aload 0 /* first */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 345
            aload 1 /* rest */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: java.lang.Enum java.lang.Enum[] java.util.EnumSet top int int java.lang.Enum[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* e */
        start local 3 // java.lang.Enum e
         4: .line 346
            aload 2 /* result */
            aload 3 /* e */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Enum e
         5: .line 345
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 347
            aload 2 /* result */
            areturn
        end local 2 // java.util.EnumSet result
        end local 1 // java.lang.Enum[] rest
        end local 0 // java.lang.Enum first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0   first  TE;
            0    8     1    rest  [Ljava/lang/Enum;
            1    8     2  result  Ljava/util/EnumSet<TE;>;
            4    5     3       e  TE;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;[TE;)Ljava/util/EnumSet<TE;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
       Name  Flags
      first  
      rest   

  public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Enum from
        start local 1 // java.lang.Enum to
         0: .line 365
            aload 0 /* from */
            aload 1 /* to */
            invokevirtual java.lang.Enum.compareTo:(Ljava/lang/Enum;)I
            ifle 2
         1: .line 366
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* to */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            invokevirtual java.lang.Enum.getDeclaringClass:()Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* result */
        start local 2 // java.util.EnumSet result
         3: .line 368
            aload 2 /* result */
            aload 0 /* from */
            aload 1 /* to */
            invokevirtual java.util.EnumSet.addRange:(Ljava/lang/Enum;Ljava/lang/Enum;)V
         4: .line 369
            aload 2 /* result */
            areturn
        end local 2 // java.util.EnumSet result
        end local 1 // java.lang.Enum to
        end local 0 // java.lang.Enum from
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    from  TE;
            0    5     1      to  TE;
            3    5     2  result  Ljava/util/EnumSet<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(TE;TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
      Name  Flags
      from  
      to    

  abstract void addRange(E, );
    descriptor: (Ljava/lang/Enum;Ljava/lang/Enum;)V
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TE;TE;)V
    MethodParameters:
      Name  Flags
      from  
      to    

  public java.util.EnumSet<E> clone();
    descriptor: ()Ljava/util/EnumSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.EnumSet this
         0: .line 386
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast java.util.EnumSet
         1: areturn
         2: .line 387
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
         3: .line 388
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // java.util.EnumSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/EnumSet<TE;>;
            3    4     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException
    Signature: ()Ljava/util/EnumSet<TE;>;

  abstract void complement();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT

  final void typeCheck();
    descriptor: (Ljava/lang/Enum;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.EnumSet this
        start local 1 // java.lang.Enum e
         0: .line 401
            aload 1 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* eClass */
        start local 2 // java.lang.Class eClass
         1: .line 402
            aload 2 /* eClass */
            aload 0 /* this */
            getfield java.util.EnumSet.elementType:Ljava/lang/Class;
            if_acmpeq 3
            aload 2 /* eClass */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 0 /* this */
            getfield java.util.EnumSet.elementType:Ljava/lang/Class;
            if_acmpeq 3
         2: .line 403
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* eClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.EnumSet.elementType:Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 404
      StackMap locals: java.lang.Class
      StackMap stack:
            return
        end local 2 // java.lang.Class eClass
        end local 1 // java.lang.Enum e
        end local 0 // java.util.EnumSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljava/util/EnumSet<TE;>;
            0    4     1       e  TE;
            1    4     2  eClass  Ljava/lang/Class<*>;
    Signature: (TE;)V
    MethodParameters:
      Name  Flags
      e     

  private static <E extends java.lang.Enum<E>> E[] getUniverse(java.lang.Class<E>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/Enum;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 411
            invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
         1: .line 412
            aload 0 /* elementType */
            invokeinterface jdk.internal.misc.JavaLangAccess.getEnumConstantsShared:(Ljava/lang/Class;)[Ljava/lang/Enum;
         2: .line 411
            areturn
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Enum<TE;>;>(Ljava/lang/Class<TE;>;)[TE;
    MethodParameters:
             Name  Flags
      elementType  

  java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.EnumSet this
         0: .line 480
            new java.util.EnumSet$SerializationProxy
            dup
            aload 0 /* this */
            invokespecial java.util.EnumSet$SerializationProxy.<init>:(Ljava/util/EnumSet;)V
            areturn
        end local 0 // java.util.EnumSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/EnumSet<TE;>;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.EnumSet this
        start local 1 // java.io.ObjectInputStream s
         0: .line 489
            new java.io.InvalidObjectException
            dup
            ldc "Proxy required"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.util.EnumSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/EnumSet<TE;>;
            0    1     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      s     

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException
}
Signature: <E:Ljava/lang/Enum<TE;>;>Ljava/util/AbstractSet<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
SourceFile: "EnumSet.java"
NestMembers:
  java.util.EnumSet$SerializationProxy
InnerClasses:
  private SerializationProxy = java.util.EnumSet$SerializationProxy of java.util.EnumSet