public interface java.util.List<E> extends java.util.Collection<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.util.List
  super_class: java.lang.Object
{
  public abstract int size();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isEmpty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract java.util.Iterator<E> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Iterator<TE;>;

  public abstract java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> T[] toArray();
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>([TT;)[TT;
    MethodParameters:
      Name  Flags
      a     

  public abstract boolean add();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TE;)Z
    MethodParameters:
      Name  Flags
      e     

  public abstract boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract boolean containsAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean addAll(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<+TE;>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean addAll(int, java.util.Collection<? extends E>);
    descriptor: (ILjava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ILjava/util/Collection<+TE;>;)Z
    MethodParameters:
       Name  Flags
      index  
      c      

  public abstract boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean retainAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public void replaceAll(java.util.function.UnaryOperator<E>);
    descriptor: (Ljava/util/function/UnaryOperator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List this
        start local 1 // java.util.function.UnaryOperator operator
         0: .line 436
            aload 1 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 437
            aload 0 /* this */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 2 /* li */
        start local 2 // java.util.ListIterator li
         2: .line 438
            goto 4
         3: .line 439
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 2 /* li */
            aload 1 /* operator */
            aload 2 /* li */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokeinterface java.util.function.UnaryOperator.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
         4: .line 438
      StackMap locals:
      StackMap stack:
            aload 2 /* li */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 3
         5: .line 441
            return
        end local 2 // java.util.ListIterator li
        end local 1 // java.util.function.UnaryOperator operator
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljava/util/List<TE;>;
            0    6     1  operator  Ljava/util/function/UnaryOperator<TE;>;
            2    6     2        li  Ljava/util/ListIterator<TE;>;
    Signature: (Ljava/util/function/UnaryOperator<TE;>;)V
    MethodParameters:
          Name  Flags
      operator  

  public void sort(java.util.Comparator<? super E>);
    descriptor: (Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.util.List this
        start local 1 // java.util.Comparator c
         0: .line 503
            aload 0 /* this */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            astore 2 /* a */
        start local 2 // java.lang.Object[] a
         1: .line 504
            aload 2 /* a */
            aload 1 /* c */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         2: .line 505
            aload 0 /* this */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* i */
        start local 3 // java.util.ListIterator i
         3: .line 506
            aload 2 /* a */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: java.util.List java.util.Comparator java.lang.Object[] java.util.ListIterator top int int java.lang.Object[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* e */
        start local 4 // java.lang.Object e
         5: .line 507
            aload 3 /* i */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
         6: .line 508
            aload 3 /* i */
            aload 4 /* e */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        end local 4 // java.lang.Object e
         7: .line 506
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 4
         9: .line 510
            return
        end local 3 // java.util.ListIterator i
        end local 2 // java.lang.Object[] a
        end local 1 // java.util.Comparator c
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/List<TE;>;
            0   10     1     c  Ljava/util/Comparator<-TE;>;
            1   10     2     a  [Ljava/lang/Object;
            3   10     3     i  Ljava/util/ListIterator<TE;>;
            5    7     4     e  Ljava/lang/Object;
    Signature: (Ljava/util/Comparator<-TE;>;)V
    MethodParameters:
      Name  Flags
      c     

  public abstract void clear();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract E get();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)TE;
    MethodParameters:
       Name  Flags
      index  

  public abstract E set(int, );
    descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ITE;)TE;
    MethodParameters:
         Name  Flags
      index    
      element  

  public abstract void add(int, );
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ITE;)V
    MethodParameters:
         Name  Flags
      index    
      element  

  public abstract E remove();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)TE;
    MethodParameters:
       Name  Flags
      index  

  public abstract int indexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract int lastIndexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract java.util.ListIterator<E> listIterator();
    descriptor: ()Ljava/util/ListIterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/ListIterator<TE;>;

  public abstract java.util.ListIterator<E> listIterator(int);
    descriptor: (I)Ljava/util/ListIterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)Ljava/util/ListIterator<TE;>;
    MethodParameters:
       Name  Flags
      index  

  public abstract java.util.List<E> subList(int, int);
    descriptor: (II)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (II)Ljava/util/List<TE;>;
    MethodParameters:
           Name  Flags
      fromIndex  
      toIndex    

  public java.util.Spliterator<E> spliterator();
    descriptor: ()Ljava/util/Spliterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List this
         0: .line 771
            aload 0 /* this */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 772
            new java.util.AbstractList$RandomAccessSpliterator
            dup
            aload 0 /* this */
            invokespecial java.util.AbstractList$RandomAccessSpliterator.<init>:(Ljava/util/List;)V
            areturn
         2: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 16
            invokestatic java.util.Spliterators.spliterator:(Ljava/util/Collection;I)Ljava/util/Spliterator;
            areturn
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/List<TE;>;
    Signature: ()Ljava/util/Spliterator<TE;>;

  public static <E> java.util.List<E> of();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 789
            invokestatic java.util.ImmutableCollections$List0.instance:()Ljava/util/ImmutableCollections$List0;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/List<TE;>;

  public static <E> java.util.List<E> of(E);
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object e1
         0: .line 805
            new java.util.ImmutableCollections$List1
            dup
            aload 0 /* e1 */
            invokespecial java.util.ImmutableCollections$List1.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e1  TE;
    Signature: <E:Ljava/lang/Object;>(TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    

  public static <E> java.util.List<E> of(E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
         0: .line 822
            new java.util.ImmutableCollections$List2
            dup
            aload 0 /* e1 */
            aload 1 /* e2 */
            invokespecial java.util.ImmutableCollections$List2.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            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;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  public static <E> java.util.List<E> of(E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, 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 840
            new java.util.ImmutableCollections$ListN
            dup
            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
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            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;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    

  public static <E> java.util.List<E> of(E, E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, 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 859
            new java.util.ImmutableCollections$ListN
            dup
            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
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            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;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    

  public static <E> java.util.List<E> of(E, E, E, E, E);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, 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 879
            new java.util.ImmutableCollections$ListN
            dup
            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
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            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;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    

  public static <E> java.util.List<E> of(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/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        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
         0: .line 900
            new java.util.ImmutableCollections$ListN
            dup
            bipush 6
            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
            dup
            iconst_5
         1: .line 901
            aload 5 /* e6 */
         2: .line 900
            aastore
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        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    3     0    e1  TE;
            0    3     1    e2  TE;
            0    3     2    e3  TE;
            0    3     3    e4  TE;
            0    3     4    e5  TE;
            0    3     5    e6  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    
      e6    

  public static <E> java.util.List<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;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, 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 e7
         0: .line 923
            new java.util.ImmutableCollections$ListN
            dup
            bipush 7
            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
            dup
            iconst_5
         1: .line 924
            aload 5 /* e6 */
            aastore
            dup
            bipush 6
            aload 6 /* e7 */
         2: .line 923
            aastore
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        end local 6 // java.lang.Object e7
        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    3     0    e1  TE;
            0    3     1    e2  TE;
            0    3     2    e3  TE;
            0    3     3    e4  TE;
            0    3     4    e5  TE;
            0    3     5    e6  TE;
            0    3     6    e7  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    
      e6    
      e7    

  public static <E> java.util.List<E> of(E, 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;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=8
        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 e7
        start local 7 // java.lang.Object e8
         0: .line 947
            new java.util.ImmutableCollections$ListN
            dup
            bipush 8
            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
            dup
            iconst_5
         1: .line 948
            aload 5 /* e6 */
            aastore
            dup
            bipush 6
            aload 6 /* e7 */
            aastore
            dup
            bipush 7
            aload 7 /* e8 */
         2: .line 947
            aastore
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        end local 7 // java.lang.Object e8
        end local 6 // java.lang.Object e7
        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    3     0    e1  TE;
            0    3     1    e2  TE;
            0    3     2    e3  TE;
            0    3     3    e4  TE;
            0    3     4    e5  TE;
            0    3     5    e6  TE;
            0    3     6    e7  TE;
            0    3     7    e8  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;TE;TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    
      e6    
      e7    
      e8    

  public static <E> java.util.List<E> of(E, E, 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;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=9
        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 e7
        start local 7 // java.lang.Object e8
        start local 8 // java.lang.Object e9
         0: .line 972
            new java.util.ImmutableCollections$ListN
            dup
            bipush 9
            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
            dup
            iconst_5
         1: .line 973
            aload 5 /* e6 */
            aastore
            dup
            bipush 6
            aload 6 /* e7 */
            aastore
            dup
            bipush 7
            aload 7 /* e8 */
            aastore
            dup
            bipush 8
            aload 8 /* e9 */
         2: .line 972
            aastore
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        end local 8 // java.lang.Object e9
        end local 7 // java.lang.Object e8
        end local 6 // java.lang.Object e7
        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    3     0    e1  TE;
            0    3     1    e2  TE;
            0    3     2    e3  TE;
            0    3     3    e4  TE;
            0    3     4    e5  TE;
            0    3     5    e6  TE;
            0    3     6    e7  TE;
            0    3     7    e8  TE;
            0    3     8    e9  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;TE;TE;TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    
      e6    
      e7    
      e8    
      e9    

  public static <E> java.util.List<E> of(E, E, E, 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;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=10
        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 e7
        start local 7 // java.lang.Object e8
        start local 8 // java.lang.Object e9
        start local 9 // java.lang.Object e10
         0: .line 998
            new java.util.ImmutableCollections$ListN
            dup
            bipush 10
            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
            dup
            iconst_5
         1: .line 999
            aload 5 /* e6 */
            aastore
            dup
            bipush 6
            aload 6 /* e7 */
            aastore
            dup
            bipush 7
            aload 7 /* e8 */
            aastore
            dup
            bipush 8
            aload 8 /* e9 */
            aastore
            dup
            bipush 9
            aload 9 /* e10 */
         2: .line 998
            aastore
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        end local 9 // java.lang.Object e10
        end local 8 // java.lang.Object e9
        end local 7 // java.lang.Object e8
        end local 6 // java.lang.Object e7
        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    3     0    e1  TE;
            0    3     1    e2  TE;
            0    3     2    e3  TE;
            0    3     3    e4  TE;
            0    3     4    e5  TE;
            0    3     5    e6  TE;
            0    3     6    e7  TE;
            0    3     7    e8  TE;
            0    3     8    e9  TE;
            0    3     9   e10  TE;
    Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;TE;TE;TE;TE;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    
      e3    
      e4    
      e5    
      e6    
      e7    
      e8    
      e9    
      e10   

  public static <E> java.util.List<E> of(E[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object[] elements
         0: .line 1030
            aload 0 /* elements */
            arraylength
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 3
              default: 4
          }
         1: .line 1032
      StackMap locals:
      StackMap stack:
            invokestatic java.util.ImmutableCollections$List0.instance:()Ljava/util/ImmutableCollections$List0;
            areturn
         2: .line 1034
      StackMap locals:
      StackMap stack:
            new java.util.ImmutableCollections$List1
            dup
            aload 0 /* elements */
            iconst_0
            aaload
            invokespecial java.util.ImmutableCollections$List1.<init>:(Ljava/lang/Object;)V
            areturn
         3: .line 1036
      StackMap locals:
      StackMap stack:
            new java.util.ImmutableCollections$List2
            dup
            aload 0 /* elements */
            iconst_0
            aaload
            aload 0 /* elements */
            iconst_1
            aaload
            invokespecial java.util.ImmutableCollections$List2.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
         4: .line 1038
      StackMap locals:
      StackMap stack:
            new java.util.ImmutableCollections$ListN
            dup
            aload 0 /* elements */
            invokespecial java.util.ImmutableCollections$ListN.<init>:([Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  [Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>([TE;)Ljava/util/List<TE;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
          Name  Flags
      elements  
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
SourceFile: "List.java"
InnerClasses:
  final RandomAccessSpliterator = java.util.AbstractList$RandomAccessSpliterator of java.util.AbstractList
  final List0 = java.util.ImmutableCollections$List0 of java.util.ImmutableCollections
  final List1 = java.util.ImmutableCollections$List1 of java.util.ImmutableCollections
  final List2 = java.util.ImmutableCollections$List2 of java.util.ImmutableCollections
  final ListN = java.util.ImmutableCollections$ListN of java.util.ImmutableCollections