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

  private static final java.lang.Object[] EMPTY_ARRAY;
    descriptor: [Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 186
            iconst_0
            anewarray java.lang.Object
            putstatic com.google.common.collect.ImmutableCollection.EMPTY_ARRAY:[Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 175
            aload 0 /* this */
            invokespecial java.util.AbstractCollection.<init>:()V
            return
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<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 java.util.Spliterator<E> spliterator();
    descriptor: ()Ljava/util/Spliterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 183
            aload 0 /* this */
            sipush 1296
            invokestatic java.util.Spliterators.spliterator:(Ljava/util/Collection;I)Ljava/util/Spliterator;
            areturn
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;
    Signature: ()Ljava/util/Spliterator<TE;>;

  public final java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 190
            aload 0 /* this */
            getstatic com.google.common.collect.ImmutableCollection.EMPTY_ARRAY:[Ljava/lang/Object;
            invokevirtual com.google.common.collect.ImmutableCollection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;

  public final <T> T[] toArray();
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.lang.Object[] other
         0: .line 196
            aload 1 /* other */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 197
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.size:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 199
            aload 1 /* other */
            arraylength
            iload 2 /* size */
            if_icmpge 8
         3: .line 200
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.internalArray:()[Ljava/lang/Object;
            astore 3 /* internal */
        start local 3 // java.lang.Object[] internal
         4: .line 201
            aload 3 /* internal */
            ifnull 6
         5: .line 202
            aload 3 /* internal */
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.internalArrayStart:()I
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.internalArrayEnd:()I
            aload 1 /* other */
            invokestatic com.google.common.collect.Platform.copy:([Ljava/lang/Object;II[Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
         6: .line 204
      StackMap locals: int java.lang.Object[]
      StackMap stack:
            aload 1 /* other */
            iload 2 /* size */
            invokestatic com.google.common.collect.ObjectArrays.newArray:([Ljava/lang/Object;I)[Ljava/lang/Object;
            astore 1 /* other */
        end local 3 // java.lang.Object[] internal
         7: .line 205
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 1 /* other */
            arraylength
            iload 2 /* size */
            if_icmple 10
         9: .line 206
            aload 1 /* other */
            iload 2 /* size */
            aconst_null
            aastore
        10: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            iconst_0
            invokevirtual com.google.common.collect.ImmutableCollection.copyIntoArray:([Ljava/lang/Object;I)I
            pop
        11: .line 209
            aload 1 /* other */
            areturn
        end local 2 // int size
        end local 1 // java.lang.Object[] other
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0   12     1     other  [Ljava/lang/Object;
            2   12     2      size  I
            4    7     3  internal  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)[TT;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
       Name  Flags
      other  

  java.lang.Object[] internalArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 214
            aconst_null
            areturn
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()

  int internalArrayStart();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 222
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;

  int internalArrayEnd();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 230
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;

  public abstract boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      object  

  public final boolean add();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.lang.Object e
         0: .line 246
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object e
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1     e  TE;
    Signature: (TE;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
      Name  Flags
      e     

  public final boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.lang.Object object
         0: .line 259
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object object
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1  object  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
        Name  Flags
      object  

  public final boolean addAll(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.util.Collection newElements
         0: .line 272
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection newElements
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1  newElements  Ljava/util/Collection<+TE;>;
    Signature: (Ljava/util/Collection<+TE;>;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
             Name  Flags
      newElements  

  public final boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.util.Collection oldElements
         0: .line 285
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection oldElements
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1  oldElements  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
             Name  Flags
      oldElements  

  public final boolean removeIf(java.util.function.Predicate<? super E>);
    descriptor: (Ljava/util/function/Predicate;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.util.function.Predicate filter
         0: .line 298
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.function.Predicate filter
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1  filter  Ljava/util/function/Predicate<-TE;>;
    Signature: (Ljava/util/function/Predicate<-TE;>;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
        Name  Flags
      filter  

  public final boolean retainAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.util.Collection elementsToKeep
         0: .line 310
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection elementsToKeep
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    1     1  elementsToKeep  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      elementsToKeep  

  public final void clear();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 322
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public com.google.common.collect.ImmutableList<E> asList();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableCollection this
         0: .line 336
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.size:()I
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 338
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.collect.ImmutableList.of:()Lcom/google/common/collect/ImmutableList;
            areturn
         2: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Lcom/google/common/collect/UnmodifiableIterator;
            invokevirtual com.google.common.collect.UnmodifiableIterator.next:()Ljava/lang/Object;
            invokestatic com.google.common.collect.ImmutableList.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            areturn
         3: .line 342
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.RegularImmutableAsList
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.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.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;
    Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;

  abstract boolean isPartialView();
    descriptor: ()Z
    flags: (0x0400) ACC_ABSTRACT

  int copyIntoArray(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.common.collect.ImmutableCollection this
        start local 1 // java.lang.Object[] dst
        start local 2 // int offset
         0: .line 360
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: com.google.common.collect.ImmutableCollection java.lang.Object[] int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* e */
        start local 3 // java.lang.Object e
         2: .line 361
            aload 1 /* dst */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            aload 3 /* e */
            aastore
        end local 3 // java.lang.Object e
         3: .line 360
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 363
            iload 2 /* offset */
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object[] dst
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/common/collect/ImmutableCollection<TE;>;
            0    5     1     dst  [Ljava/lang/Object;
            0    5     2  offset  I
            2    3     3       e  TE;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
        Name  Flags
      dst     
      offset  

  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.ImmutableCollection this
         0: .line 368
            new com.google.common.collect.ImmutableList$SerializedForm
            dup
            aload 0 /* this */
            invokevirtual com.google.common.collect.ImmutableCollection.toArray:()[Ljava/lang/Object;
            invokespecial com.google.common.collect.ImmutableList$SerializedForm.<init>:([Ljava/lang/Object;)V
            areturn
        end local 0 // com.google.common.collect.ImmutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/ImmutableCollection<TE;>;

  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.ImmutableCollection.iterator:()Lcom/google/common/collect/UnmodifiableIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Ljava/util/AbstractCollection<TE;>;Ljava/io/Serializable;
SourceFile: "ImmutableCollection.java"
NestMembers:
  com.google.common.collect.ImmutableCollection$Builder
InnerClasses:
  public abstract Builder = com.google.common.collect.ImmutableCollection$Builder of com.google.common.collect.ImmutableCollection
  SerializedForm = com.google.common.collect.ImmutableList$SerializedForm of com.google.common.collect.ImmutableList
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.DoNotMock(value = "Use ImmutableList.of or another implementation")
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)