public abstract class com.google.common.collect.ImmutableSet<E> extends com.google.common.collect.ImmutableCollection<E> implements java.util.Set<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.google.common.collect.ImmutableSet
  super_class: com.google.common.collect.ImmutableCollection
{
  static final int SPLITERATOR_CHARACTERISTICS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1297

  private transient com.google.common.collect.ImmutableList<E> asList;
    descriptor: Lcom/google/common/collect/ImmutableList;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Lcom/google/common/collect/ImmutableList<TE;>;
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.LazyInit()
    RuntimeInvisibleAnnotations: 
      com.google.j2objc.annotations.RetainedWith()
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.Nullable()

  static final int MAX_TABLE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1073741824

  private static final double DESIRED_LOAD_FACTOR;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.7

  private static final int CUTOFF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 751619276

  static final double HASH_FLOODING_FPP;
    descriptor: D
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0.001

  static final int MAX_RUN_MULTIPLIER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static <E> java.util.stream.Collector<E, ?, com.google.common.collect.ImmutableSet<E>> toImmutableSet();
    descriptor: ()Ljava/util/stream/Collector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            invokestatic com.google.common.collect.CollectCollectors.toImmutableSet:()Ljava/util/stream/Collector;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/stream/Collector<TE;*Lcom/google/common/collect/ImmutableSet<TE;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()

  public static <E> com.google.common.collect.ImmutableSet<E> of();
    descriptor: ()Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            getstatic com.google.common.collect.RegularImmutableSet.EMPTY:Lcom/google/common/collect/RegularImmutableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Lcom/google/common/collect/ImmutableSet<TE;>;

  public static <E> com.google.common.collect.ImmutableSet<E> of(E);
    descriptor: (Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object element
         0: .line 85
            new com.google.common.collect.SingletonImmutableSet
            dup
            aload 0 /* element */
            invokespecial com.google.common.collect.SingletonImmutableSet.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  element  TE;
    Signature: <E:Ljava/lang/Object;>(TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
         Name  Flags
      element  

  public static <E> com.google.common.collect.ImmutableSet<E> of(E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
         0: .line 94
            iconst_2
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* e1 */
            aastore
            dup
            iconst_1
            aload 1 /* e2 */
            aastore
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e1  TE;
            0    1     1    e2  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
        start local 2 // java.lang.Object e3
         0: .line 103
            iconst_3
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* e1 */
            aastore
            dup
            iconst_1
            aload 1 /* e2 */
            aastore
            dup
            iconst_2
            aload 2 /* e3 */
            aastore
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 2 // java.lang.Object e3
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e1  TE;
            0    1     1    e2  TE;
            0    1     2    e3  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    

  public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
        start local 2 // java.lang.Object e3
        start local 3 // java.lang.Object e4
         0: .line 112
            iconst_4
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* e1 */
            aastore
            dup
            iconst_1
            aload 1 /* e2 */
            aastore
            dup
            iconst_2
            aload 2 /* e3 */
            aastore
            dup
            iconst_3
            aload 3 /* e4 */
            aastore
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 3 // java.lang.Object e4
        end local 2 // java.lang.Object e3
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e1  TE;
            0    1     1    e2  TE;
            0    1     2    e3  TE;
            0    1     3    e4  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    

  public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
        start local 2 // java.lang.Object e3
        start local 3 // java.lang.Object e4
        start local 4 // java.lang.Object e5
         0: .line 121
            iconst_5
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* e1 */
            aastore
            dup
            iconst_1
            aload 1 /* e2 */
            aastore
            dup
            iconst_2
            aload 2 /* e3 */
            aastore
            dup
            iconst_3
            aload 3 /* e4 */
            aastore
            dup
            iconst_4
            aload 4 /* e5 */
            aastore
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 4 // java.lang.Object e5
        end local 3 // java.lang.Object e4
        end local 2 // java.lang.Object e3
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e1  TE;
            0    1     1    e2  TE;
            0    1     2    e3  TE;
            0    1     3    e4  TE;
            0    1     4    e5  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    

  public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E, E, E, E[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
        start local 2 // java.lang.Object e3
        start local 3 // java.lang.Object e4
        start local 4 // java.lang.Object e5
        start local 5 // java.lang.Object e6
        start local 6 // java.lang.Object[] others
         0: .line 136
            aload 6 /* others */
            arraylength
            ldc 2147483641
            if_icmpgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: .line 137
      StackMap locals:
      StackMap stack: int
            ldc "the total number of elements must fit in an int"
         3: .line 135
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
         4: .line 139
            bipush 6
            aload 6 /* others */
            arraylength
            iadd
            anewarray java.lang.Object
            astore 7 /* elements */
        start local 7 // java.lang.Object[] elements
         5: .line 140
            aload 7 /* elements */
            iconst_0
            aload 0 /* e1 */
            aastore
         6: .line 141
            aload 7 /* elements */
            iconst_1
            aload 1 /* e2 */
            aastore
         7: .line 142
            aload 7 /* elements */
            iconst_2
            aload 2 /* e3 */
            aastore
         8: .line 143
            aload 7 /* elements */
            iconst_3
            aload 3 /* e4 */
            aastore
         9: .line 144
            aload 7 /* elements */
            iconst_4
            aload 4 /* e5 */
            aastore
        10: .line 145
            aload 7 /* elements */
            iconst_5
            aload 5 /* e6 */
            aastore
        11: .line 146
            aload 6 /* others */
            iconst_0
            aload 7 /* elements */
            bipush 6
            aload 6 /* others */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 147
            aload 7 /* elements */
            arraylength
            aload 7 /* elements */
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 7 // java.lang.Object[] elements
        end local 6 // java.lang.Object[] others
        end local 5 // java.lang.Object e6
        end local 4 // java.lang.Object e5
        end local 3 // java.lang.Object e4
        end local 2 // java.lang.Object e3
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0        e1  TE;
            0   13     1        e2  TE;
            0   13     2        e3  TE;
            0   13     3        e4  TE;
            0   13     4        e5  TE;
            0   13     5        e6  TE;
            0   13     6    others  [Ljava/lang/Object;
            5   13     7  elements  [Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;[TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
        Name  Flags
      e1      
      e2      
      e3      
      e4      
      e5      
      e6      
      others  

  private static <E> com.google.common.collect.ImmutableSet<E> construct(int, []);
    descriptor: (I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // int n
        start local 1 // java.lang.Object[] elements
         0: .line 165
            iload 0 /* n */
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 4
          }
         1: .line 167
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
            areturn
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* elements */
            iconst_0
            aaload
            astore 2 /* elem */
        start local 2 // java.lang.Object elem
         3: .line 171
            aload 2 /* elem */
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 2 // java.lang.Object elem
         4: .line 174
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.ImmutableSet$RegularSetBuilderImpl
            dup
            iconst_4
            invokespecial com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.<init>:(I)V
         5: .line 173
            astore 3 /* builder */
        start local 3 // com.google.common.collect.ImmutableSet$SetBuilderImpl builder
         6: .line 175
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 11
         8: .line 177
      StackMap locals: int java.lang.Object[] top com.google.common.collect.ImmutableSet$SetBuilderImpl int
      StackMap stack:
            aload 1 /* elements */
            iload 4 /* i */
            aaload
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* e */
        start local 5 // java.lang.Object e
         9: .line 178
            aload 3 /* builder */
            aload 5 /* e */
            invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$SetBuilderImpl;
            astore 3 /* builder */
        end local 5 // java.lang.Object e
        10: .line 175
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 0 /* n */
            if_icmplt 8
        end local 4 // int i
        12: .line 180
            aload 3 /* builder */
            invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.review:()Lcom/google/common/collect/ImmutableSet$SetBuilderImpl;
            invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.build:()Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 3 // com.google.common.collect.ImmutableSet$SetBuilderImpl builder
        end local 1 // java.lang.Object[] elements
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0         n  I
            0   13     1  elements  [Ljava/lang/Object;
            3    4     2      elem  TE;
            6   13     3   builder  Lcom/google/common/collect/ImmutableSet$SetBuilderImpl<TE;>;
            7   12     4         i  I
            9   10     5         e  TE;
    Signature: <E:Ljava/lang/Object;>(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
          Name  Flags
      n         
      elements  

  public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Collection elements
         0: .line 202
            aload 0 /* elements */
            instanceof com.google.common.collect.ImmutableSet
            ifeq 4
            aload 0 /* elements */
            instanceof java.util.SortedSet
            ifne 4
         1: .line 204
            aload 0 /* elements */
            checkcast com.google.common.collect.ImmutableSet
            astore 1 /* set */
        start local 1 // com.google.common.collect.ImmutableSet set
         2: .line 205
            aload 1 /* set */
            invokevirtual com.google.common.collect.ImmutableSet.isPartialView:()Z
            ifne 6
         3: .line 206
            aload 1 /* set */
            areturn
        end local 1 // com.google.common.collect.ImmutableSet set
         4: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            instanceof java.util.EnumSet
            ifeq 6
         5: .line 209
            aload 0 /* elements */
            checkcast java.util.EnumSet
            invokestatic com.google.common.collect.ImmutableSet.copyOfEnumSet:(Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
            areturn
         6: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            invokeinterface java.util.Collection.toArray:()[Ljava/lang/Object;
            astore 1 /* array */
        start local 1 // java.lang.Object[] array
         7: .line 212
            aload 1 /* array */
            arraylength
            aload 1 /* array */
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 1 // java.lang.Object[] array
        end local 0 // java.util.Collection elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  elements  Ljava/util/Collection<+TE;>;
            2    4     1       set  Lcom/google/common/collect/ImmutableSet<TE;>;
            7    8     1     array  [Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 228
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 229
            aload 0 /* elements */
            checkcast java.util.Collection
            invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
            goto 3
         2: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet;
         3: .line 228
      StackMap locals:
      StackMap stack: com.google.common.collect.ImmutableSet
            areturn
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  elements  Ljava/lang/Iterable<+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.util.Iterator<? extends E>);
    descriptor: (Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Iterator elements
         0: .line 241
            aload 0 /* elements */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         1: .line 242
            invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
            areturn
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 1 /* first */
        start local 1 // java.lang.Object first
         3: .line 245
            aload 0 /* elements */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         4: .line 246
            aload 1 /* first */
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
         5: .line 248
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.google.common.collect.ImmutableSet$Builder
            dup
            invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:()V
            aload 1 /* first */
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
            aload 0 /* elements */
            invokevirtual com.google.common.collect.ImmutableSet$Builder.addAll:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet$Builder;
            invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 1 // java.lang.Object first
        end local 0 // java.util.Iterator elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  elements  Ljava/util/Iterator<+TE;>;
            3    6     1     first  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Iterator<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  public static <E> com.google.common.collect.ImmutableSet<E> copyOf(E[]);
    descriptor: ([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] elements
         0: .line 260
            aload 0 /* elements */
            arraylength
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 262
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
            areturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            iconst_0
            aaload
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
         3: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* elements */
            arraylength
            aload 0 /* elements */
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 0 // java.lang.Object[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  elements  [Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>([TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  private static com.google.common.collect.ImmutableSet copyOfEnumSet(java.util.EnumSet);
    descriptor: (Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.EnumSet enumSet
         0: .line 272
            aload 0 /* enumSet */
            invokestatic java.util.EnumSet.copyOf:(Ljava/util/EnumSet;)Ljava/util/EnumSet;
            invokestatic com.google.common.collect.ImmutableEnumSet.asImmutable:(Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 0 // java.util.EnumSet enumSet
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  enumSet  Ljava/util/EnumSet;
    MethodParameters:
         Name  Flags
      enumSet  

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 275
            aload 0 /* this */
            invokespecial com.google.common.collect.ImmutableCollection.<init>:()V
            return
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableSet<TE;>;

  boolean isHashCodeFast();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 279
            iconst_0
            ireturn
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableSet<TE;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableSet this
        start local 1 // java.lang.Object object
         0: .line 284
            aload 1 /* object */
            aload 0 /* this */
            if_acmpne 2
         1: .line 285
            iconst_1
            ireturn
         2: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            instanceof com.google.common.collect.ImmutableSet
            ifeq 7
         3: .line 287
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableSet.isHashCodeFast:()Z
            ifeq 7
         4: .line 288
            aload 1 /* object */
            checkcast com.google.common.collect.ImmutableSet
            invokevirtual com.google.common.collect.ImmutableSet.isHashCodeFast:()Z
            ifeq 7
         5: .line 289
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableSet.hashCode:()I
            aload 1 /* object */
            invokevirtual java.lang.Object.hashCode:()I
            if_icmpeq 7
         6: .line 290
            iconst_0
            ireturn
         7: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokestatic com.google.common.collect.Sets.equalsImpl:(Ljava/util/Set;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/google/common/collect/ImmutableSet<TE;>;
            0    8     1  object  Ljava/lang/Object;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      object  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 297
            aload 0 /* this */
            invokestatic com.google.common.collect.Sets.hashCodeImpl:(Ljava/util/Set;)I
            ireturn
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableSet<TE;>;

  public abstract com.google.common.collect.UnmodifiableIterator<E> iterator();
    descriptor: ()Lcom/google/common/collect/UnmodifiableIterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/google/common/collect/UnmodifiableIterator<TE;>;

  public com.google.common.collect.ImmutableList<E> asList();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 309
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableSet.asList:Lcom/google/common/collect/ImmutableList;
            astore 1 /* result */
        start local 1 // com.google.common.collect.ImmutableList result
         1: .line 310
            aload 1 /* result */
            ifnonnull 2
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableSet.createAsList:()Lcom/google/common/collect/ImmutableList;
            dup_x1
            putfield com.google.common.collect.ImmutableSet.asList:Lcom/google/common/collect/ImmutableList;
            goto 3
      StackMap locals: com.google.common.collect.ImmutableList
      StackMap stack:
         2: aload 1 /* result */
      StackMap locals:
      StackMap stack: com.google.common.collect.ImmutableList
         3: areturn
        end local 1 // com.google.common.collect.ImmutableList result
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/google/common/collect/ImmutableSet<TE;>;
            1    4     1  result  Lcom/google/common/collect/ImmutableList<TE;>;
    Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;

  com.google.common.collect.ImmutableList<E> createAsList();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 314
            new com.google.common.collect.RegularImmutableAsList
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableSet.toArray:()[Ljava/lang/Object;
            invokespecial com.google.common.collect.RegularImmutableAsList.<init>:(Lcom/google/common/collect/ImmutableCollection;[Ljava/lang/Object;)V
            areturn
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableSet<TE;>;
    Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;

  java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableSet this
         0: .line 383
            new com.google.common.collect.ImmutableSet$SerializedForm
            dup
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableSet.toArray:()[Ljava/lang/Object;
            invokespecial com.google.common.collect.ImmutableSet$SerializedForm.<init>:([Ljava/lang/Object;)V
            areturn
        end local 0 // com.google.common.collect.ImmutableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableSet<TE;>;

  public static <E> com.google.common.collect.ImmutableSet$Builder<E> builder();
    descriptor: ()Lcom/google/common/collect/ImmutableSet$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 391
            new com.google.common.collect.ImmutableSet$Builder
            dup
            invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Lcom/google/common/collect/ImmutableSet$Builder<TE;>;

  public static <E> com.google.common.collect.ImmutableSet$Builder<E> builderWithExpectedSize(int);
    descriptor: (I)Lcom/google/common/collect/ImmutableSet$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int expectedSize
         0: .line 408
            iload 0 /* expectedSize */
            ldc "expectedSize"
            invokestatic com.google.common.collect.CollectPreconditions.checkNonnegative:(ILjava/lang/String;)I
            pop
         1: .line 409
            new com.google.common.collect.ImmutableSet$Builder
            dup
            iload 0 /* expectedSize */
            invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:(I)V
            areturn
        end local 0 // int expectedSize
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  expectedSize  I
    Signature: <E:Ljava/lang/Object;>(I)Lcom/google/common/collect/ImmutableSet$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
              Name  Flags
      expectedSize  

  static java.lang.Object[] rebuildHashTable(int, java.lang.Object[], int);
    descriptor: (I[Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // int newTableSize
        start local 1 // java.lang.Object[] elements
        start local 2 // int n
         0: .line 414
            iload 0 /* newTableSize */
            anewarray java.lang.Object
            astore 3 /* hashTable */
        start local 3 // java.lang.Object[] hashTable
         1: .line 415
            aload 3 /* hashTable */
            arraylength
            iconst_1
            isub
            istore 4 /* mask */
        start local 4 // int mask
         2: .line 416
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 13
         4: .line 417
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 1 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* e */
        start local 6 // java.lang.Object e
         5: .line 418
            aload 6 /* e */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic com.google.common.collect.Hashing.smear:(I)I
            istore 7 /* j0 */
        start local 7 // int j0
         6: .line 419
            iload 7 /* j0 */
            istore 8 /* j */
        start local 8 // int j
         7: .line 420
      StackMap locals: java.lang.Object int int
      StackMap stack:
            iload 8 /* j */
            iload 4 /* mask */
            iand
            istore 9 /* index */
        start local 9 // int index
         8: .line 421
            aload 3 /* hashTable */
            iload 9 /* index */
            aaload
            ifnonnull 11
         9: .line 422
            aload 3 /* hashTable */
            iload 9 /* index */
            aload 6 /* e */
            aastore
        10: .line 423
            goto 12
        end local 9 // int index
        11: .line 419
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
            goto 7
        end local 8 // int j
        end local 7 // int j0
        end local 6 // java.lang.Object e
        12: .line 416
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 2 /* n */
            if_icmplt 4
        end local 5 // int i
        14: .line 427
            aload 3 /* hashTable */
            areturn
        end local 4 // int mask
        end local 3 // java.lang.Object[] hashTable
        end local 2 // int n
        end local 1 // java.lang.Object[] elements
        end local 0 // int newTableSize
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  newTableSize  I
            0   15     1      elements  [Ljava/lang/Object;
            0   15     2             n  I
            1   15     3     hashTable  [Ljava/lang/Object;
            2   15     4          mask  I
            3   14     5             i  I
            5   12     6             e  Ljava/lang/Object;
            6   12     7            j0  I
            7   12     8             j  I
            8   11     9         index  I
    MethodParameters:
              Name  Flags
      newTableSize  
      elements      
      n             

  static int chooseTableSize(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int setSize
         0: .line 615
            iload 0 /* setSize */
            iconst_2
            invokestatic java.lang.Math.max:(II)I
            istore 0 /* setSize */
         1: .line 617
            iload 0 /* setSize */
            ldc 751619276
            if_icmpge 7
         2: .line 619
            iload 0 /* setSize */
            iconst_1
            isub
            invokestatic java.lang.Integer.highestOneBit:(I)I
            iconst_1
            ishl
            istore 1 /* tableSize */
        start local 1 // int tableSize
         3: .line 620
            goto 5
         4: .line 621
      StackMap locals: int
      StackMap stack:
            iload 1 /* tableSize */
            iconst_1
            ishl
            istore 1 /* tableSize */
         5: .line 620
      StackMap locals:
      StackMap stack:
            iload 1 /* tableSize */
            i2d
            ldc 0.7
            dmul
            iload 0 /* setSize */
            i2d
            dcmpg
            iflt 4
         6: .line 623
            iload 1 /* tableSize */
            ireturn
        end local 1 // int tableSize
         7: .line 627
      StackMap locals:
      StackMap stack:
            iload 0 /* setSize */
            ldc 1073741824
            if_icmpge 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: ldc "collection too large"
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
        10: .line 628
            ldc 1073741824
            ireturn
        end local 0 // int setSize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0    setSize  I
            3    7     1  tableSize  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
         Name  Flags
      setSize  

  static boolean hashFloodingDetected(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.Object[] hashTable
         0: .line 659
            aload 0 /* hashTable */
            arraylength
            invokestatic com.google.common.collect.ImmutableSet.maxRunBeforeFallback:(I)I
            istore 1 /* maxRunBeforeFallback */
        start local 1 // int maxRunBeforeFallback
         1: .line 663
            iconst_0
            istore 2 /* endOfStartRun */
        start local 2 // int endOfStartRun
         2: goto 8
         3: .line 664
      StackMap locals: int int
      StackMap stack:
            aload 0 /* hashTable */
            iload 2 /* endOfStartRun */
            aaload
            ifnonnull 5
         4: .line 665
            goto 9
         5: .line 667
      StackMap locals:
      StackMap stack:
            iinc 2 /* endOfStartRun */ 1
         6: .line 668
            iload 2 /* endOfStartRun */
            iload 1 /* maxRunBeforeFallback */
            if_icmple 8
         7: .line 669
            iconst_1
            ireturn
         8: .line 663
      StackMap locals:
      StackMap stack:
            iload 2 /* endOfStartRun */
            aload 0 /* hashTable */
            arraylength
            if_icmplt 3
         9: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* hashTable */
            arraylength
            iconst_1
            isub
            istore 3 /* startOfEndRun */
        start local 3 // int startOfEndRun
        10: goto 16
        11: .line 674
      StackMap locals: int
      StackMap stack:
            aload 0 /* hashTable */
            iload 3 /* startOfEndRun */
            aaload
            ifnonnull 13
        12: .line 675
            goto 17
        13: .line 677
      StackMap locals:
      StackMap stack:
            iload 2 /* endOfStartRun */
            aload 0 /* hashTable */
            arraylength
            iconst_1
            isub
            iload 3 /* startOfEndRun */
            isub
            iadd
            iload 1 /* maxRunBeforeFallback */
            if_icmple 15
        14: .line 678
            iconst_1
            ireturn
        15: .line 673
      StackMap locals:
      StackMap stack:
            iinc 3 /* startOfEndRun */ -1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* startOfEndRun */
            iload 2 /* endOfStartRun */
            if_icmpgt 11
        17: .line 681
      StackMap locals:
      StackMap stack:
            iload 2 /* endOfStartRun */
            iconst_1
            iadd
            istore 4 /* i */
        start local 4 // int i
        18: goto 27
        19: .line 682
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* runLength */
        start local 5 // int runLength
        20: goto 25
        21: .line 683
      StackMap locals: int
      StackMap stack:
            iinc 5 /* runLength */ 1
        22: .line 684
            iload 5 /* runLength */
            iload 1 /* maxRunBeforeFallback */
            if_icmple 24
        23: .line 685
            iconst_1
            ireturn
        24: .line 682
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 4 /* i */
            iload 3 /* startOfEndRun */
            if_icmpge 26
            aload 0 /* hashTable */
            iload 4 /* i */
            aaload
            ifnonnull 21
        end local 5 // int runLength
        26: .line 681
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            iload 3 /* startOfEndRun */
            if_icmplt 19
        end local 4 // int i
        28: .line 689
            iconst_0
            ireturn
        end local 3 // int startOfEndRun
        end local 2 // int endOfStartRun
        end local 1 // int maxRunBeforeFallback
        end local 0 // java.lang.Object[] hashTable
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   29     0             hashTable  [Ljava/lang/Object;
            1   29     1  maxRunBeforeFallback  I
            2   29     2         endOfStartRun  I
           10   29     3         startOfEndRun  I
           18   28     4                     i  I
           20   26     5             runLength  I
    MethodParameters:
           Name  Flags
      hashTable  

  static int maxRunBeforeFallback(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int tableSize
         0: .line 697
            bipush 12
            iload 0 /* tableSize */
            getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
            invokestatic com.google.common.math.IntMath.log2:(ILjava/math/RoundingMode;)I
            imul
            ireturn
        end local 0 // int tableSize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  tableSize  I
    MethodParameters:
           Name  Flags
      tableSize  

  public java.util.Iterator iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.ImmutableSet.iterator:()Lcom/google/common/collect/UnmodifiableIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Lcom/google/common/collect/ImmutableCollection<TE;>;Ljava/util/Set<TE;>;
SourceFile: "ImmutableSet.java"
NestMembers:
  com.google.common.collect.ImmutableSet$Builder  com.google.common.collect.ImmutableSet$Indexed  com.google.common.collect.ImmutableSet$Indexed$1  com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl  com.google.common.collect.ImmutableSet$RegularSetBuilderImpl  com.google.common.collect.ImmutableSet$SerializedForm  com.google.common.collect.ImmutableSet$SetBuilderImpl
InnerClasses:
  public Builder = com.google.common.collect.ImmutableSet$Builder of com.google.common.collect.ImmutableSet
  abstract Indexed = com.google.common.collect.ImmutableSet$Indexed of com.google.common.collect.ImmutableSet
  private final JdkBackedSetBuilderImpl = com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl of com.google.common.collect.ImmutableSet
  private final RegularSetBuilderImpl = com.google.common.collect.ImmutableSet$RegularSetBuilderImpl of com.google.common.collect.ImmutableSet
  private SerializedForm = com.google.common.collect.ImmutableSet$SerializedForm of com.google.common.collect.ImmutableSet
  private abstract SetBuilderImpl = com.google.common.collect.ImmutableSet$SetBuilderImpl of com.google.common.collect.ImmutableSet
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(serializable = true, emulated = true)