public final class com.google.common.collect.ImmutableList$Builder<E> extends com.google.common.collect.ImmutableCollection$Builder<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.ImmutableList$Builder
  super_class: com.google.common.collect.ImmutableCollection$Builder
{
  java.lang.Object[] contents;
    descriptor: [Ljava/lang/Object;
    flags: (0x0000) 
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

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

  private boolean forceCopy;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableList$Builder this
         0: .line 760
            aload 0 /* this */
            iconst_4
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
         1: .line 761
            return
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // int capacity
         0: .line 763
            aload 0 /* this */
            invokespecial com.google.common.collect.ImmutableCollection$Builder.<init>:()V
         1: .line 764
            aload 0 /* this */
            iload 1 /* capacity */
            anewarray java.lang.Object
            putfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
         2: .line 765
            aload 0 /* this */
            iconst_0
            putfield com.google.common.collect.ImmutableList$Builder.size:I
         3: .line 766
            return
        end local 1 // int capacity
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    4     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  private void getReadyToExpandTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // int minCapacity
         0: .line 769
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            arraylength
            iload 1 /* minCapacity */
            if_icmpge 4
         1: .line 770
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            arraylength
            iload 1 /* minCapacity */
            invokestatic com.google.common.collect.ImmutableList$Builder.expandedCapacity:(II)I
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            putfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
         2: .line 771
            aload 0 /* this */
            iconst_0
            putfield com.google.common.collect.ImmutableList$Builder.forceCopy:Z
         3: .line 772
            goto 7
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.forceCopy:Z
            ifeq 7
         5: .line 773
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            putfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
         6: .line 774
            aload 0 /* this */
            iconst_0
            putfield com.google.common.collect.ImmutableList$Builder.forceCopy:Z
         7: .line 776
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int minCapacity
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    8     1  minCapacity  I
    MethodParameters:
             Name  Flags
      minCapacity  

  public com.google.common.collect.ImmutableList$Builder<E> add(E);
    descriptor: (Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // java.lang.Object element
         0: .line 788
            aload 1 /* element */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 789
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            iconst_1
            iadd
            invokevirtual com.google.common.collect.ImmutableList$Builder.getReadyToExpandTo:(I)V
         2: .line 790
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            dup_x1
            iconst_1
            iadd
            putfield com.google.common.collect.ImmutableList$Builder.size:I
            aload 1 /* element */
            aastore
         3: .line 791
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object element
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    4     1  element  TE;
    Signature: (TE;)Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
         Name  Flags
      element  

  public com.google.common.collect.ImmutableList$Builder<E> add(E[]);
    descriptor: ([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // java.lang.Object[] elements
         0: .line 804
            aload 1 /* elements */
            invokestatic com.google.common.collect.ObjectArrays.checkElementsNotNull:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         1: .line 805
            aload 0 /* this */
            aload 1 /* elements */
            aload 1 /* elements */
            arraylength
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:([Ljava/lang/Object;I)V
         2: .line 806
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object[] elements
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    3     1  elements  [Ljava/lang/Object;
    Signature: ([TE;)Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
          Name  Flags
      elements  

  private void add(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // java.lang.Object[] elements
        start local 2 // int n
         0: .line 810
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            iload 2 /* n */
            iadd
            invokevirtual com.google.common.collect.ImmutableList$Builder.getReadyToExpandTo:(I)V
         1: .line 811
            aload 1 /* elements */
            iconst_0
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            iload 2 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 812
            aload 0 /* this */
            dup
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            iload 2 /* n */
            iadd
            putfield com.google.common.collect.ImmutableList$Builder.size:I
         3: .line 813
            return
        end local 2 // int n
        end local 1 // java.lang.Object[] elements
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    4     1  elements  [Ljava/lang/Object;
            0    4     2         n  I
    MethodParameters:
          Name  Flags
      elements  
      n         

  public com.google.common.collect.ImmutableList$Builder<E> addAll(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // java.lang.Iterable elements
         0: .line 825
            aload 1 /* elements */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 826
            aload 1 /* elements */
            instanceof java.util.Collection
            ifeq 8
         2: .line 827
            aload 1 /* elements */
            checkcast java.util.Collection
            astore 2 /* collection */
        start local 2 // java.util.Collection collection
         3: .line 828
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            aload 2 /* collection */
            invokeinterface java.util.Collection.size:()I
            iadd
            invokevirtual com.google.common.collect.ImmutableList$Builder.getReadyToExpandTo:(I)V
         4: .line 829
            aload 2 /* collection */
            instanceof com.google.common.collect.ImmutableCollection
            ifeq 8
         5: .line 830
            aload 2 /* collection */
            checkcast com.google.common.collect.ImmutableCollection
            astore 3 /* immutableCollection */
        start local 3 // com.google.common.collect.ImmutableCollection immutableCollection
         6: .line 831
            aload 0 /* this */
            aload 3 /* immutableCollection */
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            invokevirtual com.google.common.collect.ImmutableCollection.copyIntoArray:([Ljava/lang/Object;I)I
            putfield com.google.common.collect.ImmutableList$Builder.size:I
         7: .line 832
            aload 0 /* this */
            areturn
        end local 3 // com.google.common.collect.ImmutableCollection immutableCollection
        end local 2 // java.util.Collection collection
         8: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* elements */
            invokespecial com.google.common.collect.ImmutableCollection$Builder.addAll:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableCollection$Builder;
            pop
         9: .line 836
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Iterable elements
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0   10     1             elements  Ljava/lang/Iterable<+TE;>;
            3    8     2           collection  Ljava/util/Collection<*>;
            6    8     3  immutableCollection  Lcom/google/common/collect/ImmutableCollection<*>;
    Signature: (Ljava/lang/Iterable<+TE;>;)Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
          Name  Flags
      elements  

  public com.google.common.collect.ImmutableList$Builder<E> addAll(java.util.Iterator<? extends E>);
    descriptor: (Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableList$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // java.util.Iterator elements
         0: .line 849
            aload 0 /* this */
            aload 1 /* elements */
            invokespecial com.google.common.collect.ImmutableCollection$Builder.addAll:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableCollection$Builder;
            pop
         1: .line 850
            aload 0 /* this */
            areturn
        end local 1 // java.util.Iterator elements
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    2     1  elements  Ljava/util/Iterator<+TE;>;
    Signature: (Ljava/util/Iterator<+TE;>;)Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
          Name  Flags
      elements  

  com.google.common.collect.ImmutableList$Builder<E> combine(com.google.common.collect.ImmutableList$Builder<E>);
    descriptor: (Lcom/google/common/collect/ImmutableList$Builder;)Lcom/google/common/collect/ImmutableList$Builder;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.collect.ImmutableList$Builder this
        start local 1 // com.google.common.collect.ImmutableList$Builder builder
         0: .line 855
            aload 1 /* builder */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 856
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 1 /* builder */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:([Ljava/lang/Object;I)V
         2: .line 857
            aload 0 /* this */
            areturn
        end local 1 // com.google.common.collect.ImmutableList$Builder builder
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
            0    3     1  builder  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    Signature: (Lcom/google/common/collect/ImmutableList$Builder<TE;>;)Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
         Name  Flags
      builder  

  public com.google.common.collect.ImmutableList<E> build();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.ImmutableList$Builder this
         0: .line 865
            aload 0 /* this */
            iconst_1
            putfield com.google.common.collect.ImmutableList$Builder.forceCopy:Z
         1: .line 866
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.contents:[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.google.common.collect.ImmutableList$Builder.size:I
            invokestatic com.google.common.collect.ImmutableList.asImmutableList:([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
            areturn
        end local 0 // com.google.common.collect.ImmutableList$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/collect/ImmutableList$Builder<TE;>;
    Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;

  public com.google.common.collect.ImmutableCollection build();
    descriptor: ()Lcom/google/common/collect/ImmutableCollection;
    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.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.google.common.collect.ImmutableCollection$Builder addAll(java.util.Iterator);
    descriptor: (Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableCollection$Builder;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.Iterator
            invokevirtual com.google.common.collect.ImmutableList$Builder.addAll:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableList$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.google.common.collect.ImmutableCollection$Builder addAll(java.lang.Iterable);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableCollection$Builder;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Iterable
            invokevirtual com.google.common.collect.ImmutableList$Builder.addAll:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$Builder;
    flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Object[]
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$Builder;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Object
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Lcom/google/common/collect/ImmutableCollection$Builder<TE;>;
SourceFile: "ImmutableList.java"
NestHost: com.google.common.collect.ImmutableList
InnerClasses:
  public abstract Builder = com.google.common.collect.ImmutableCollection$Builder of com.google.common.collect.ImmutableCollection
  public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList