public final class org.eclipse.collections.impl.utility.ArrayListIterate
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.collections.impl.utility.ArrayListIterate
  super_class: java.lang.Object
{
  private static final java.lang.reflect.Field ELEMENT_DATA_FIELD;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Field SIZE_FIELD;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 102
            aconst_null
            astore 0 /* data */
        start local 0 // java.lang.reflect.Field data
         1: .line 103
            aconst_null
            astore 1 /* size */
        start local 1 // java.lang.reflect.Field size
         2: .line 106
            ldc Ljava/util/ArrayList;
            ldc "elementData"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 0 /* data */
         3: .line 107
            ldc Ljava/util/ArrayList;
            ldc "size"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* size */
         4: .line 108
            aload 0 /* data */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         5: .line 109
            aload 1 /* size */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         6: .line 110
            goto 10
         7: .line 111
      StackMap locals: java.lang.reflect.Field java.lang.reflect.Field
      StackMap stack: java.lang.Exception
            pop
         8: .line 113
            aconst_null
            astore 0 /* data */
         9: .line 114
            aconst_null
            astore 1 /* size */
        10: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            putstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
        11: .line 117
            aload 1 /* size */
            putstatic org.eclipse.collections.impl.utility.ArrayListIterate.SIZE_FIELD:Ljava/lang/reflect/Field;
        end local 1 // java.lang.reflect.Field size
        end local 0 // java.lang.reflect.Field data
        12: .line 118
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0  data  Ljava/lang/reflect/Field;
            2   12     1  size  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.utility.ArrayListIterate this
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 122
            new java.lang.AssertionError
            dup
            ldc "Suppress default constructor for noninstantiability"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 0 // org.eclipse.collections.impl.utility.ArrayListIterate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/collections/impl/utility/ArrayListIterate;

  public static <T> java.util.ArrayList<T> select(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 130
            aload 0 /* list */
            aload 1 /* predicate */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.select:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/ArrayList<TT;>;
            0    1     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, IV> java.util.ArrayList<T> selectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super IV>, IV);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
         0: .line 141
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.selectWith:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           list  Ljava/util/ArrayList<TT;>;
            0    1     1      predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;
            0    1     2  injectedValue  TIV;
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;TIV;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
               Name  Flags
      list           
      predicate      
      injectedValue  

  public static <T, R extends java.util.Collection<T>> R select(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        start local 2 // java.util.Collection targetCollection
         0: .line 152
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 153
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 155
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 156
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 158
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 160
            aload 2 /* targetCollection */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 156
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 163
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
        10: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.select:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetCollection
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              list  Ljava/util/ArrayList<TT;>;
            0   11     1         predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            0   11     2  targetCollection  TR;
            1   11     3              size  I
            3   10     4          elements  [Ljava/lang/Object;
            4    9     5                 i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      predicate         
      targetCollection  

  public static <T, P, R extends java.util.Collection<T>> R selectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, P, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
        start local 3 // java.util.Collection targetCollection
         0: .line 177
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 178
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 180
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         3: .line 181
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 183
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 7
         6: .line 185
            aload 3 /* targetCollection */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 181
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 6 // int i
         9: .line 188
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            aload 3 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.selectWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 4 // int size
        end local 3 // java.util.Collection targetCollection
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              list  Ljava/util/ArrayList<TT;>;
            0   11     1         predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   11     2         parameter  TP;
            0   11     3  targetCollection  TR;
            1   11     4              size  I
            3   10     5          elements  [Ljava/lang/Object;
            4    9     6                 i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      predicate         
      parameter         
      targetCollection  

  public static <T> org.eclipse.collections.api.list.MutableList<T> selectInstancesOf(java.util.ArrayList<?>, java.lang.Class<T>);
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Class;)Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // java.lang.Class clazz
         0: .line 200
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 201
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:(I)Lorg/eclipse/collections/impl/list/mutable/FastList;
            astore 3 /* result */
        start local 3 // org.eclipse.collections.impl.list.mutable.FastList result
         2: .line 202
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         3: .line 204
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         4: .line 205
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 207
      StackMap locals: java.util.ArrayList java.lang.Class int org.eclipse.collections.impl.list.mutable.FastList java.lang.Object[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* element */
        start local 6 // java.lang.Object element
         7: .line 208
            aload 1 /* clazz */
            aload 6 /* element */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 210
            aload 3 /* result */
            aload 6 /* element */
            invokevirtual org.eclipse.collections.impl.list.mutable.FastList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object element
         9: .line 205
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 5 // int i
        11: .line 213
            aload 3 /* result */
            invokevirtual org.eclipse.collections.impl.list.mutable.FastList.trimToSize:()V
        12: .line 214
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* clazz */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.selectInstancesOf:(Ljava/util/List;Ljava/lang/Class;)Lorg/eclipse/collections/api/list/MutableList;
            areturn
        end local 3 // org.eclipse.collections.impl.list.mutable.FastList result
        end local 2 // int size
        end local 1 // java.lang.Class clazz
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      list  Ljava/util/ArrayList<*>;
            0   14     1     clazz  Ljava/lang/Class<TT;>;
            1   14     2      size  I
            2   14     3    result  Lorg/eclipse/collections/impl/list/mutable/FastList<TT;>;
            4   13     4  elements  [Ljava/lang/Object;
            5   11     5         i  I
            7    9     6   element  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<*>;Ljava/lang/Class<TT;>;)Lorg/eclipse/collections/api/list/MutableList<TT;>;
    MethodParameters:
       Name  Flags
      list   
      clazz  

  public static <T> int count(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 224
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 225
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 227
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         3: .line 228
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         4: .line 229
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 231
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 233
            iinc 3 /* count */ 1
         8: .line 229
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 5 // int i
        10: .line 236
            iload 3 /* count */
            ireturn
        end local 4 // java.lang.Object[] elements
        end local 3 // int count
        11: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.count:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   12     2       size  I
            3   11     3      count  I
            4   11     4   elements  [Ljava/lang/Object;
            5   10     5          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)I
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> int countWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 249
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 250
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 252
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         3: .line 253
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 254
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 9
         6: .line 256
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object int int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 258
            iinc 4 /* count */ 1
         8: .line 254
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 3 /* size */
            if_icmplt 6
        end local 6 // int i
        10: .line 261
            iload 4 /* count */
            ireturn
        end local 5 // java.lang.Object[] elements
        end local 4 // int count
        11: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.countWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)I
            ireturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   12     2  parameter  TP;
            1   12     3       size  I
            3   11     4      count  I
            4   11     5   elements  [Ljava/lang/Object;
            5   10     6          i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)I
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T, A> java.util.ArrayList<A> collectIf(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends A>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Lorg/eclipse/collections/api/block/function/Function;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        start local 2 // org.eclipse.collections.api.block.function.Function function
         0: .line 274
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* function */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectIf:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 2 // org.eclipse.collections.api.block.function.Function function
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/ArrayList<TT;>;
            0    1     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            0    1     2   function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;)Ljava/util/ArrayList<TA;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      function   

  public static <T, A, R extends java.util.Collection<A>> R collectIf(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends A>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        start local 2 // org.eclipse.collections.api.block.function.Function function
        start local 3 // java.util.Collection targetCollection
         0: .line 286
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 287
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 289
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         3: .line 290
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 292
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 294
            aload 3 /* targetCollection */
            aload 2 /* function */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 290
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 6 // int i
         9: .line 297
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* function */
            aload 3 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectIf:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 4 // int size
        end local 3 // java.util.Collection targetCollection
        end local 2 // org.eclipse.collections.api.block.function.Function function
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              list  Ljava/util/ArrayList<TT;>;
            0   11     1         predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            0   11     2          function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;
            0   11     3  targetCollection  TR;
            1   11     4              size  I
            3   10     5          elements  [Ljava/lang/Object;
            4    9     6                 i  I
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;R::Ljava/util/Collection<TA;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      predicate         
      function          
      targetCollection  

  public static <T> java.util.ArrayList<T> reject(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 307
            aload 0 /* list */
            aload 1 /* predicate */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.reject:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/ArrayList<TT;>;
            0    1     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, IV> java.util.ArrayList<T> rejectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super IV>, IV);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
         0: .line 318
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.rejectWith:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           list  Ljava/util/ArrayList<TT;>;
            0    1     1      predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;
            0    1     2  injectedValue  TIV;
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;TIV;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
               Name  Flags
      list           
      predicate      
      injectedValue  

  public static <T, R extends java.util.Collection<T>> R reject(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        start local 2 // java.util.Collection targetCollection
         0: .line 329
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 330
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 332
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 333
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 335
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 337
            aload 2 /* targetCollection */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 333
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 340
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
        10: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.reject:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetCollection
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              list  Ljava/util/ArrayList<TT;>;
            0   11     1         predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            0   11     2  targetCollection  TR;
            1   11     3              size  I
            3   10     4          elements  [Ljava/lang/Object;
            4    9     5                 i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      predicate         
      targetCollection  

  public static <T, P, R extends java.util.Collection<T>> R rejectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, P, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
        start local 3 // java.util.Collection targetCollection
         0: .line 354
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 355
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 357
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         3: .line 358
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 360
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 2 /* injectedValue */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
         6: .line 362
            aload 3 /* targetCollection */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 358
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 6 // int i
         9: .line 365
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            aload 3 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.rejectWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 4 // int size
        end local 3 // java.util.Collection targetCollection
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              list  Ljava/util/ArrayList<TT;>;
            0   11     1         predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   11     2     injectedValue  TP;
            0   11     3  targetCollection  TR;
            1   11     4              size  I
            3   10     5          elements  [Ljava/lang/Object;
            4    9     6                 i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      predicate         
      injectedValue     
      targetCollection  

  public static <T, A> java.util.ArrayList<A> collect(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends A>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 377
            aload 0 /* list */
            aload 1 /* function */
            new java.util.ArrayList
            dup
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collect:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;)Ljava/util/ArrayList<TA;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  public static <T> org.eclipse.collections.api.list.primitive.MutableBooleanList collectBoolean(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.BooleanFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;)Lorg/eclipse/collections/api/list/primitive/MutableBooleanList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
         0: .line 387
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 388
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 390
            new org.eclipse.collections.impl.list.mutable.primitive.BooleanArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.BooleanArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableBooleanList result
         3: .line 391
            aload 0 /* list */
            aload 1 /* booleanFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectBooleanFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;ILorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableBooleanList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableBooleanList result
         4: .line 393
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* booleanFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectBoolean:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;)Lorg/eclipse/collections/api/list/primitive/MutableBooleanList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             list  Ljava/util/ArrayList<TT;>;
            0    5     1  booleanFunction  Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;
            1    5     2             size  I
            3    4     3           result  Lorg/eclipse/collections/api/list/primitive/MutableBooleanList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableBooleanList;
    MethodParameters:
                 Name  Flags
      list             
      booleanFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableBooleanCollection> R collectBoolean(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.BooleanFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableBooleanCollection target
         0: .line 401
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 402
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 404
            aload 0 /* list */
            aload 1 /* booleanFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectBooleanFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;ILorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;
            areturn
         3: .line 406
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* booleanFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectBoolean:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableBooleanCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             list  Ljava/util/ArrayList<TT;>;
            0    4     1  booleanFunction  Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;
            0    4     2           target  TR;
            1    4     3             size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;TR;)TR;
    MethodParameters:
                 Name  Flags
      list             
      booleanFunction  
      target           

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableBooleanCollection> R collectBooleanFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.BooleanFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction;ILorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableBooleanCollection target
         0: .line 411
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 412
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 414
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* booleanFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.BooleanFunction.booleanValueOf:(Ljava/lang/Object;)Z
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableBooleanCollection.add:(Z)Z
            pop
         4: .line 412
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 416
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableBooleanCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.BooleanFunction booleanFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1    booleanFunction  Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableBooleanCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/BooleanFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      booleanFunction    
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableByteList collectByte(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ByteFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;)Lorg/eclipse/collections/api/list/primitive/MutableByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
         0: .line 426
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 427
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 429
            new org.eclipse.collections.impl.list.mutable.primitive.ByteArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.ByteArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableByteList result
         3: .line 430
            aload 0 /* list */
            aload 1 /* byteFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectByteFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;ILorg/eclipse/collections/api/collection/primitive/MutableByteCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableByteList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableByteList result
         4: .line 432
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* byteFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectByte:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;)Lorg/eclipse/collections/api/list/primitive/MutableByteList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          list  Ljava/util/ArrayList<TT;>;
            0    5     1  byteFunction  Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;
            1    5     2          size  I
            3    4     3        result  Lorg/eclipse/collections/api/list/primitive/MutableByteList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableByteList;
    MethodParameters:
              Name  Flags
      list          
      byteFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableByteCollection> R collectByte(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ByteFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableByteCollection target
         0: .line 440
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 441
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 443
            aload 0 /* list */
            aload 1 /* byteFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectByteFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;ILorg/eclipse/collections/api/collection/primitive/MutableByteCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;
            areturn
         3: .line 445
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* byteFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectByte:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableByteCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          list  Ljava/util/ArrayList<TT;>;
            0    4     1  byteFunction  Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;
            0    4     2        target  TR;
            1    4     3          size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;TR;)TR;
    MethodParameters:
              Name  Flags
      list          
      byteFunction  
      target        

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableByteCollection> R collectByteFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ByteFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction;ILorg/eclipse/collections/api/collection/primitive/MutableByteCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableByteCollection target
         0: .line 454
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 455
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 457
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* byteFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.ByteFunction.byteValueOf:(Ljava/lang/Object;)B
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableByteCollection.add:(B)Z
            pop
         4: .line 455
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 459
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableByteCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.ByteFunction byteFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1       byteFunction  Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableByteCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ByteFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      byteFunction       
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableCharList collectChar(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.CharFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;)Lorg/eclipse/collections/api/list/primitive/MutableCharList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
         0: .line 469
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 470
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 472
            new org.eclipse.collections.impl.list.mutable.primitive.CharArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.CharArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableCharList result
         3: .line 473
            aload 0 /* list */
            aload 1 /* charFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectCharFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;ILorg/eclipse/collections/api/collection/primitive/MutableCharCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableCharList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableCharList result
         4: .line 475
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* charFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectChar:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;)Lorg/eclipse/collections/api/list/primitive/MutableCharList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          list  Ljava/util/ArrayList<TT;>;
            0    5     1  charFunction  Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;
            1    5     2          size  I
            3    4     3        result  Lorg/eclipse/collections/api/list/primitive/MutableCharList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableCharList;
    MethodParameters:
              Name  Flags
      list          
      charFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableCharCollection> R collectChar(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.CharFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableCharCollection target
         0: .line 483
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 484
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 486
            aload 0 /* list */
            aload 1 /* charFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectCharFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;ILorg/eclipse/collections/api/collection/primitive/MutableCharCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;
            areturn
         3: .line 488
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* charFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectChar:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableCharCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          list  Ljava/util/ArrayList<TT;>;
            0    4     1  charFunction  Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;
            0    4     2        target  TR;
            1    4     3          size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;TR;)TR;
    MethodParameters:
              Name  Flags
      list          
      charFunction  
      target        

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableCharCollection> R collectCharFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.CharFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/CharFunction;ILorg/eclipse/collections/api/collection/primitive/MutableCharCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableCharCollection target
         0: .line 497
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 498
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 500
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* charFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.CharFunction.charValueOf:(Ljava/lang/Object;)C
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableCharCollection.add:(C)Z
            pop
         4: .line 498
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 502
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableCharCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.CharFunction charFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1       charFunction  Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableCharCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/CharFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      charFunction       
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableDoubleList collectDouble(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.DoubleFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;)Lorg/eclipse/collections/api/list/primitive/MutableDoubleList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
         0: .line 512
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 513
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 515
            new org.eclipse.collections.impl.list.mutable.primitive.DoubleArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.DoubleArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableDoubleList result
         3: .line 516
            aload 0 /* list */
            aload 1 /* doubleFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectDoubleFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;ILorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableDoubleList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableDoubleList result
         4: .line 518
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* doubleFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectDouble:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;)Lorg/eclipse/collections/api/list/primitive/MutableDoubleList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            list  Ljava/util/ArrayList<TT;>;
            0    5     1  doubleFunction  Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;
            1    5     2            size  I
            3    4     3          result  Lorg/eclipse/collections/api/list/primitive/MutableDoubleList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableDoubleList;
    MethodParameters:
                Name  Flags
      list            
      doubleFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableDoubleCollection> R collectDouble(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.DoubleFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableDoubleCollection target
         0: .line 526
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 527
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 529
            aload 0 /* list */
            aload 1 /* doubleFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectDoubleFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;ILorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;
            areturn
         3: .line 531
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* doubleFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectDouble:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableDoubleCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            list  Ljava/util/ArrayList<TT;>;
            0    4     1  doubleFunction  Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;
            0    4     2          target  TR;
            1    4     3            size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;TR;)TR;
    MethodParameters:
                Name  Flags
      list            
      doubleFunction  
      target          

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableDoubleCollection> R collectDoubleFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.DoubleFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;ILorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableDoubleCollection target
         0: .line 540
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 541
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 543
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* doubleFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.DoubleFunction.doubleValueOf:(Ljava/lang/Object;)D
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableDoubleCollection.add:(D)Z
            pop
         4: .line 541
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 545
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableDoubleCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.DoubleFunction doubleFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1     doubleFunction  Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableDoubleCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      doubleFunction     
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableFloatList collectFloat(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.FloatFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;)Lorg/eclipse/collections/api/list/primitive/MutableFloatList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
         0: .line 555
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 556
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 558
            new org.eclipse.collections.impl.list.mutable.primitive.FloatArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.FloatArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableFloatList result
         3: .line 559
            aload 0 /* list */
            aload 1 /* floatFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectFloatFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;ILorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableFloatList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableFloatList result
         4: .line 561
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* floatFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectFloat:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;)Lorg/eclipse/collections/api/list/primitive/MutableFloatList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           list  Ljava/util/ArrayList<TT;>;
            0    5     1  floatFunction  Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;
            1    5     2           size  I
            3    4     3         result  Lorg/eclipse/collections/api/list/primitive/MutableFloatList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableFloatList;
    MethodParameters:
               Name  Flags
      list           
      floatFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableFloatCollection> R collectFloat(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.FloatFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableFloatCollection target
         0: .line 569
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 570
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 572
            aload 0 /* list */
            aload 1 /* floatFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectFloatFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;ILorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;
            areturn
         3: .line 574
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* floatFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectFloat:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableFloatCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           list  Ljava/util/ArrayList<TT;>;
            0    4     1  floatFunction  Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;
            0    4     2         target  TR;
            1    4     3           size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;TR;)TR;
    MethodParameters:
               Name  Flags
      list           
      floatFunction  
      target         

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableFloatCollection> R collectFloatFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.FloatFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction;ILorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableFloatCollection target
         0: .line 583
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 584
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 586
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* floatFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.FloatFunction.floatValueOf:(Ljava/lang/Object;)F
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableFloatCollection.add:(F)Z
            pop
         4: .line 584
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 588
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableFloatCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.FloatFunction floatFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1      floatFunction  Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableFloatCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/FloatFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      floatFunction      
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableIntList collectInt(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.IntFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;)Lorg/eclipse/collections/api/list/primitive/MutableIntList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
         0: .line 598
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 599
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 601
            new org.eclipse.collections.impl.list.mutable.primitive.IntArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.IntArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableIntList result
         3: .line 602
            aload 0 /* list */
            aload 1 /* intFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectIntFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;ILorg/eclipse/collections/api/collection/primitive/MutableIntCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableIntList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableIntList result
         4: .line 604
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* intFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectInt:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;)Lorg/eclipse/collections/api/list/primitive/MutableIntList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         list  Ljava/util/ArrayList<TT;>;
            0    5     1  intFunction  Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;
            1    5     2         size  I
            3    4     3       result  Lorg/eclipse/collections/api/list/primitive/MutableIntList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableIntList;
    MethodParameters:
             Name  Flags
      list         
      intFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableIntCollection> R collectInt(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.IntFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableIntCollection target
         0: .line 612
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 613
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 615
            aload 0 /* list */
            aload 1 /* intFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectIntFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;ILorg/eclipse/collections/api/collection/primitive/MutableIntCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;
            areturn
         3: .line 617
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* intFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectInt:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableIntCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         list  Ljava/util/ArrayList<TT;>;
            0    4     1  intFunction  Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;
            0    4     2       target  TR;
            1    4     3         size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;TR;)TR;
    MethodParameters:
             Name  Flags
      list         
      intFunction  
      target       

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableIntCollection> R collectIntFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.IntFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntFunction;ILorg/eclipse/collections/api/collection/primitive/MutableIntCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableIntCollection target
         0: .line 622
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 623
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 625
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* intFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.IntFunction.intValueOf:(Ljava/lang/Object;)I
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableIntCollection.add:(I)Z
            pop
         4: .line 623
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 627
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableIntCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.IntFunction intFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1        intFunction  Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableIntCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/IntFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      intFunction        
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableLongList collectLong(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.LongFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;)Lorg/eclipse/collections/api/list/primitive/MutableLongList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
         0: .line 637
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 638
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 640
            new org.eclipse.collections.impl.list.mutable.primitive.LongArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.LongArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableLongList result
         3: .line 641
            aload 0 /* list */
            aload 1 /* longFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectLongFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;ILorg/eclipse/collections/api/collection/primitive/MutableLongCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableLongList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableLongList result
         4: .line 643
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* longFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectLong:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;)Lorg/eclipse/collections/api/list/primitive/MutableLongList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          list  Ljava/util/ArrayList<TT;>;
            0    5     1  longFunction  Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;
            1    5     2          size  I
            3    4     3        result  Lorg/eclipse/collections/api/list/primitive/MutableLongList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableLongList;
    MethodParameters:
              Name  Flags
      list          
      longFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableLongCollection> R collectLong(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.LongFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableLongCollection target
         0: .line 651
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 652
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 654
            aload 0 /* list */
            aload 1 /* longFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectLongFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;ILorg/eclipse/collections/api/collection/primitive/MutableLongCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;
            areturn
         3: .line 656
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* longFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectLong:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableLongCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          list  Ljava/util/ArrayList<TT;>;
            0    4     1  longFunction  Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;
            0    4     2        target  TR;
            1    4     3          size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;TR;)TR;
    MethodParameters:
              Name  Flags
      list          
      longFunction  
      target        

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableLongCollection> R collectLongFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.LongFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongFunction;ILorg/eclipse/collections/api/collection/primitive/MutableLongCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableLongCollection target
         0: .line 665
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 666
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 668
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* longFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.LongFunction.longValueOf:(Ljava/lang/Object;)J
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableLongCollection.add:(J)Z
            pop
         4: .line 666
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 670
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableLongCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.LongFunction longFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1       longFunction  Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableLongCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/LongFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      longFunction       
      elementsToCollect  
      target             

  public static <T> org.eclipse.collections.api.list.primitive.MutableShortList collectShort(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ShortFunction<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;)Lorg/eclipse/collections/api/list/primitive/MutableShortList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
         0: .line 680
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 681
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 683
            new org.eclipse.collections.impl.list.mutable.primitive.ShortArrayList
            dup
            iload 2 /* size */
            invokespecial org.eclipse.collections.impl.list.mutable.primitive.ShortArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.primitive.MutableShortList result
         3: .line 684
            aload 0 /* list */
            aload 1 /* shortFunction */
            iload 2 /* size */
            aload 3 /* result */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectShortFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;ILorg/eclipse/collections/api/collection/primitive/MutableShortCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;
            checkcast org.eclipse.collections.api.list.primitive.MutableShortList
            areturn
        end local 3 // org.eclipse.collections.api.list.primitive.MutableShortList result
         4: .line 686
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* shortFunction */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectShort:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;)Lorg/eclipse/collections/api/list/primitive/MutableShortList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           list  Ljava/util/ArrayList<TT;>;
            0    5     1  shortFunction  Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;
            1    5     2           size  I
            3    4     3         result  Lorg/eclipse/collections/api/list/primitive/MutableShortList;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;)Lorg/eclipse/collections/api/list/primitive/MutableShortList;
    MethodParameters:
               Name  Flags
      list           
      shortFunction  

  public static <T, R extends org.eclipse.collections.api.collection.primitive.MutableShortCollection> R collectShort(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ShortFunction<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
        start local 2 // org.eclipse.collections.api.collection.primitive.MutableShortCollection target
         0: .line 694
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 695
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 697
            aload 0 /* list */
            aload 1 /* shortFunction */
            iload 3 /* size */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectShortFromInternalArray:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;ILorg/eclipse/collections/api/collection/primitive/MutableShortCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;
            areturn
         3: .line 699
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* shortFunction */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectShort:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.collection.primitive.MutableShortCollection target
        end local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           list  Ljava/util/ArrayList<TT;>;
            0    4     1  shortFunction  Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;
            0    4     2         target  TR;
            1    4     3           size  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;TR;)TR;
    MethodParameters:
               Name  Flags
      list           
      shortFunction  
      target         

  private static <T, R extends org.eclipse.collections.api.collection.primitive.MutableShortCollection> R collectShortFromInternalArray(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.ShortFunction<? super T>, int, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction;ILorg/eclipse/collections/api/collection/primitive/MutableShortCollection;)Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.util.ArrayList source
        start local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
        start local 2 // int elementsToCollect
        start local 3 // org.eclipse.collections.api.collection.primitive.MutableShortCollection target
         0: .line 708
            aload 0 /* source */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         1: .line 709
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 711
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* target */
            aload 1 /* shortFunction */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.ShortFunction.shortValueOf:(Ljava/lang/Object;)S
            invokeinterface org.eclipse.collections.api.collection.primitive.MutableShortCollection.add:(S)Z
            pop
         4: .line 709
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* elementsToCollect */
            if_icmplt 3
        end local 5 // int i
         6: .line 713
            aload 3 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.collection.primitive.MutableShortCollection target
        end local 2 // int elementsToCollect
        end local 1 // org.eclipse.collections.api.block.function.primitive.ShortFunction shortFunction
        end local 0 // java.util.ArrayList source
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0             source  Ljava/util/ArrayList<TT;>;
            0    7     1      shortFunction  Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;
            0    7     2  elementsToCollect  I
            0    7     3             target  TR;
            1    7     4           elements  [Ljava/lang/Object;
            2    6     5                  i  I
    Signature: <T:Ljava/lang/Object;R::Lorg/eclipse/collections/api/collection/primitive/MutableShortCollection;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/ShortFunction<-TT;>;ITR;)TR;
    MethodParameters:
                   Name  Flags
      source             
      shortFunction      
      elementsToCollect  
      target             

  public static <T, A, R extends java.util.Collection<A>> R collect(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends A>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
        start local 2 // java.util.Collection targetCollection
         0: .line 724
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 725
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 727
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 728
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 730
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 2 /* targetCollection */
            aload 1 /* function */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 728
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         8: .line 732
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collect:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetCollection
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              list  Ljava/util/ArrayList<TT;>;
            0   10     1          function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;
            0   10     2  targetCollection  TR;
            1   10     3              size  I
            3    9     4          elements  [Ljava/lang/Object;
            4    8     5                 i  I
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;R::Ljava/util/Collection<TA;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TA;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      function          
      targetCollection  

  public static <T, A> java.util.ArrayList<A> flatCollect(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends java.lang.Iterable<A>>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 744
            aload 0 /* list */
            aload 1 /* function */
            new java.util.ArrayList
            dup
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.flatCollect:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TA;>;>;
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TA;>;>;)Ljava/util/ArrayList<TA;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  public static <T, A, R extends java.util.Collection<A>> R flatCollect(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends java.lang.Iterable<A>>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
        start local 2 // java.util.Collection targetCollection
         0: .line 755
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 756
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 758
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 759
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 761
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* function */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.Iterate.addAllTo:(Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
            pop
         6: .line 759
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         8: .line 763
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.flatCollect:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetCollection
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              list  Ljava/util/ArrayList<TT;>;
            0   10     1          function  Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TA;>;>;
            0   10     2  targetCollection  TR;
            1   10     3              size  I
            3    9     4          elements  [Ljava/lang/Object;
            4    8     5                 i  I
    Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;R::Ljava/util/Collection<TA;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TA;>;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      function          
      targetCollection  

  public static <T> void forEach(java.util.ArrayList<T>, org.eclipse.collections.api.block.procedure.Procedure<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.procedure.Procedure procedure
         0: .line 773
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 774
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 776
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 777
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 779
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* procedure */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.procedure.Procedure.value:(Ljava/lang/Object;)V
         6: .line 777
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
        end local 3 // java.lang.Object[] elements
         8: .line 781
            goto 10
         9: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEach:(Ljava/util/List;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
        10: .line 786
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.procedure.Procedure procedure
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  procedure  Lorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;
            1   11     2       size  I
            3    8     3   elements  [Ljava/lang/Object;
            4    8     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;)V
    MethodParameters:
           Name  Flags
      list       
      procedure  

  public static <T> void reverseForEach(java.util.ArrayList<T>, org.eclipse.collections.api.block.procedure.Procedure<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.procedure.Procedure procedure
         0: .line 793
            aload 0 /* list */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 2
         1: .line 795
            aload 0 /* list */
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            iconst_0
            aload 1 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.forEach:(Ljava/util/ArrayList;IILorg/eclipse/collections/api/block/procedure/Procedure;)V
         2: .line 797
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.collections.api.block.procedure.Procedure procedure
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       list  Ljava/util/ArrayList<TT;>;
            0    3     1  procedure  Lorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;)V
    MethodParameters:
           Name  Flags
      list       
      procedure  

  public static <T> void reverseForEachWithIndex(java.util.ArrayList<T>, org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure procedure
         0: .line 804
            aload 0 /* list */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 2
         1: .line 806
            aload 0 /* list */
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            iconst_0
            aload 1 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.forEachWithIndex:(Ljava/util/ArrayList;IILorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
         2: .line 808
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure procedure
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       list  Ljava/util/ArrayList<TT;>;
            0    3     1  procedure  Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;)V
    MethodParameters:
           Name  Flags
      list       
      procedure  

  public static <T> void forEach(java.util.ArrayList<T>, int, int, org.eclipse.collections.api.block.procedure.Procedure<? super T>);
    descriptor: (Ljava/util/ArrayList;IILorg/eclipse/collections/api/block/procedure/Procedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // int from
        start local 2 // int to
        start local 3 // org.eclipse.collections.api.block.procedure.Procedure procedure
         0: .line 830
            iload 1 /* from */
            iload 2 /* to */
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokestatic org.eclipse.collections.impl.utility.ListIterate.rangeCheck:(III)V
         1: .line 831
            aload 0 /* list */
            iload 2 /* to */
            iload 1 /* from */
            isub
            iconst_1
            iadd
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 5
         2: .line 833
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 835
            aload 4 /* elements */
            iload 1 /* from */
            iload 2 /* to */
            aload 3 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.internal.InternalArrayIterate.forEachWithoutChecks:([Ljava/lang/Object;IILorg/eclipse/collections/api/block/procedure/Procedure;)V
        end local 4 // java.lang.Object[] elements
         4: .line 836
            goto 6
         5: .line 839
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* from */
            iload 2 /* to */
            aload 3 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEach:(Ljava/util/List;IILorg/eclipse/collections/api/block/procedure/Procedure;)V
         6: .line 841
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.collections.api.block.procedure.Procedure procedure
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       list  Ljava/util/ArrayList<TT;>;
            0    7     1       from  I
            0    7     2         to  I
            0    7     3  procedure  Lorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;
            3    4     4   elements  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;IILorg/eclipse/collections/api/block/procedure/Procedure<-TT;>;)V
    MethodParameters:
           Name  Flags
      list       
      from       
      to         
      procedure  

  public static <T> void forEachWithIndex(java.util.ArrayList<T>, int, int, org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure<? super T>);
    descriptor: (Ljava/util/ArrayList;IILorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // int from
        start local 2 // int to
        start local 3 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure objectIntProcedure
         0: .line 868
            iload 1 /* from */
            iload 2 /* to */
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokestatic org.eclipse.collections.impl.utility.ListIterate.rangeCheck:(III)V
         1: .line 869
            aload 0 /* list */
            iload 2 /* to */
            iload 1 /* from */
            isub
            iconst_1
            iadd
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 5
         2: .line 871
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 873
            aload 4 /* elements */
            iload 1 /* from */
            iload 2 /* to */
            aload 3 /* objectIntProcedure */
            invokestatic org.eclipse.collections.impl.utility.internal.InternalArrayIterate.forEachWithIndexWithoutChecks:([Ljava/lang/Object;IILorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
        end local 4 // java.lang.Object[] elements
         4: .line 874
            goto 6
         5: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* from */
            iload 2 /* to */
            aload 3 /* objectIntProcedure */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEachWithIndex:(Ljava/util/List;IILorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
         6: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure objectIntProcedure
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                list  Ljava/util/ArrayList<TT;>;
            0    7     1                from  I
            0    7     2                  to  I
            0    7     3  objectIntProcedure  Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;
            3    4     4            elements  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;IILorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;)V
    MethodParameters:
                    Name  Flags
      list                
      from                
      to                  
      objectIntProcedure  

  public static <T1, T2> void forEachInBoth(java.util.ArrayList<T1>, java.util.ArrayList<T2>, org.eclipse.collections.api.block.procedure.Procedure2<? super T1, ? super T2>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.ArrayList list1
        start local 1 // java.util.ArrayList list2
        start local 2 // org.eclipse.collections.api.block.procedure.Procedure2 procedure
         0: .line 889
            aload 0 /* list1 */
            aload 1 /* list2 */
            aload 2 /* procedure */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEachInBoth:(Ljava/util/List;Ljava/util/List;Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
         1: .line 890
            return
        end local 2 // org.eclipse.collections.api.block.procedure.Procedure2 procedure
        end local 1 // java.util.ArrayList list2
        end local 0 // java.util.ArrayList list1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0      list1  Ljava/util/ArrayList<TT1;>;
            0    2     1      list2  Ljava/util/ArrayList<TT2;>;
            0    2     2  procedure  Lorg/eclipse/collections/api/block/procedure/Procedure2<-TT1;-TT2;>;
    Signature: <T1:Ljava/lang/Object;T2:Ljava/lang/Object;>(Ljava/util/ArrayList<TT1;>;Ljava/util/ArrayList<TT2;>;Lorg/eclipse/collections/api/block/procedure/Procedure2<-TT1;-TT2;>;)V
    MethodParameters:
           Name  Flags
      list1      
      list2      
      procedure  

  public static <T> void forEachWithIndex(java.util.ArrayList<T>, org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure objectIntProcedure
         0: .line 897
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 898
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 900
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 901
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 903
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* objectIntProcedure */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            iload 4 /* i */
            invokeinterface org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure.value:(Ljava/lang/Object;I)V
         6: .line 901
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
        end local 3 // java.lang.Object[] elements
         8: .line 905
            goto 10
         9: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* objectIntProcedure */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEachWithIndex:(Ljava/util/List;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
        10: .line 910
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure objectIntProcedure
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                list  Ljava/util/ArrayList<TT;>;
            0   11     1  objectIntProcedure  Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;
            1   11     2                size  I
            3    8     3            elements  [Ljava/lang/Object;
            4    8     4                   i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TT;>;)V
    MethodParameters:
                    Name  Flags
      list                
      objectIntProcedure  

  public static <T> T detect(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 917
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 918
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 920
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 921
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 923
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            astore 5 /* item */
        start local 5 // java.lang.Object item
         6: .line 924
            aload 1 /* predicate */
            aload 5 /* item */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 926
            aload 5 /* item */
            areturn
        end local 5 // java.lang.Object item
         8: .line 921
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
        10: .line 929
            aconst_null
            areturn
        end local 3 // java.lang.Object[] elements
        11: .line 931
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detect:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/lang/Object;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   12     2       size  I
            3   11     3   elements  [Ljava/lang/Object;
            4   10     4          i  I
            6    8     5       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)TT;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> T detectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 942
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 943
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 945
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 946
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 948
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* item */
        start local 6 // java.lang.Object item
         6: .line 949
            aload 1 /* predicate */
            aload 6 /* item */
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 951
            aload 6 /* item */
            areturn
        end local 6 // java.lang.Object item
         8: .line 946
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
        10: .line 954
            aconst_null
            areturn
        end local 4 // java.lang.Object[] elements
        11: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   12     2  parameter  TP;
            1   12     3       size  I
            3   11     4   elements  [Ljava/lang/Object;
            4   10     5          i  I
            6    8     6       item  TT;
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)TT;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> java.util.Optional<T> detectOptional(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/util/Optional;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 964
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 965
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 967
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 968
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 970
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            astore 5 /* item */
        start local 5 // java.lang.Object item
         6: .line 971
            aload 1 /* predicate */
            aload 5 /* item */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 973
            aload 5 /* item */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 5 // java.lang.Object item
         8: .line 968
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
        10: .line 976
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 3 // java.lang.Object[] elements
        11: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectOptional:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/util/Optional;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   12     2       size  I
            3   11     3   elements  [Ljava/lang/Object;
            4   10     4          i  I
            6    8     5       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Ljava/util/Optional<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> java.util.Optional<T> detectWithOptional(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, P);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/util/Optional;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 989
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 990
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 992
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 993
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 995
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* item */
        start local 6 // java.lang.Object item
         6: .line 996
            aload 1 /* predicate */
            aload 6 /* item */
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 998
            aload 6 /* item */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 6 // java.lang.Object item
         8: .line 993
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
        10: .line 1001
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 4 // java.lang.Object[] elements
        11: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectWithOptional:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       list  Ljava/util/ArrayList<TT;>;
            0   12     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   12     2  parameter  TP;
            1   12     3       size  I
            3   11     4   elements  [Ljava/lang/Object;
            4   10     5          i  I
            6    8     6       item  TT;
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)Ljava/util/Optional<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> T detectIfNone(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        start local 2 // java.lang.Object ifNone
         0: .line 1011
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.detect:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         1: .line 1012
            aload 3 /* result */
            ifnonnull 2
            aload 2 /* ifNone */
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 3 /* result */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 3 // java.lang.Object result
        end local 2 // java.lang.Object ifNone
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       list  Ljava/util/ArrayList<TT;>;
            0    4     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            0    4     2     ifNone  TT;
            1    4     3     result  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;TT;)TT;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      ifNone     

  public static <T, IV> T detectWithIfNone(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super IV>, IV, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
        start local 3 // java.lang.Object ifNone
         0: .line 1024
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.detectWith:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         1: .line 1025
            aload 4 /* result */
            ifnonnull 2
            aload 3 /* ifNone */
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 4 /* result */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 4 // java.lang.Object result
        end local 3 // java.lang.Object ifNone
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           list  Ljava/util/ArrayList<TT;>;
            0    4     1      predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;
            0    4     2  injectedValue  TIV;
            0    4     3         ifNone  TT;
            1    4     4         result  TT;
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;TIV;TT;)TT;
    MethodParameters:
               Name  Flags
      list           
      predicate      
      injectedValue  
      ifNone         

  public static <T, IV> IV injectInto(IV, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function2<? super IV, ? super T, ? extends IV>);
    descriptor: (Ljava/lang/Object;Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function2;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.Object injectValue
        start local 1 // java.util.ArrayList list
        start local 2 // org.eclipse.collections.api.block.function.Function2 function
         0: .line 1036
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1037
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1039
            aload 0 /* injectValue */
            astore 4 /* result */
        start local 4 // java.lang.Object result
         3: .line 1040
            aload 1 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 1041
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1043
      StackMap locals: java.lang.Object java.util.ArrayList org.eclipse.collections.api.block.function.Function2 int java.lang.Object java.lang.Object[] int
      StackMap stack:
            aload 2 /* function */
            aload 4 /* result */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
         7: .line 1041
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 3 /* size */
            if_icmplt 6
        end local 6 // int i
         9: .line 1045
            aload 4 /* result */
            areturn
        end local 5 // java.lang.Object[] elements
        end local 4 // java.lang.Object result
        10: .line 1047
      StackMap locals:
      StackMap stack:
            aload 0 /* injectValue */
            aload 1 /* list */
            aload 2 /* function */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectInto:(Ljava/lang/Object;Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function2;)Ljava/lang/Object;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.block.function.Function2 function
        end local 1 // java.util.ArrayList list
        end local 0 // java.lang.Object injectValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  injectValue  TIV;
            0   11     1         list  Ljava/util/ArrayList<TT;>;
            0   11     2     function  Lorg/eclipse/collections/api/block/function/Function2<-TIV;-TT;+TIV;>;
            1   11     3         size  I
            3   10     4       result  TIV;
            4   10     5     elements  [Ljava/lang/Object;
            5    9     6            i  I
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(TIV;Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function2<-TIV;-TT;+TIV;>;)TIV;
    MethodParameters:
             Name  Flags
      injectValue  
      list         
      function     

  public static <T> int injectInto(int, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction<? super T>);
    descriptor: (ILjava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/IntObjectToIntFunction;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // int injectValue
        start local 1 // java.util.ArrayList list
        start local 2 // org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction function
         0: .line 1058
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1059
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1061
            iload 0 /* injectValue */
            istore 4 /* result */
        start local 4 // int result
         3: .line 1062
            aload 1 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 1063
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1065
      StackMap locals: int java.util.ArrayList org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction int int java.lang.Object[] int
      StackMap stack:
            aload 2 /* function */
            iload 4 /* result */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction.intValueOf:(ILjava/lang/Object;)I
            istore 4 /* result */
         7: .line 1063
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 3 /* size */
            if_icmplt 6
        end local 6 // int i
         9: .line 1067
            iload 4 /* result */
            ireturn
        end local 5 // java.lang.Object[] elements
        end local 4 // int result
        10: .line 1069
      StackMap locals:
      StackMap stack:
            iload 0 /* injectValue */
            aload 1 /* list */
            aload 2 /* function */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectInto:(ILjava/util/List;Lorg/eclipse/collections/api/block/function/primitive/IntObjectToIntFunction;)I
            ireturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction function
        end local 1 // java.util.ArrayList list
        end local 0 // int injectValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  injectValue  I
            0   11     1         list  Ljava/util/ArrayList<TT;>;
            0   11     2     function  Lorg/eclipse/collections/api/block/function/primitive/IntObjectToIntFunction<-TT;>;
            1   11     3         size  I
            3   10     4       result  I
            4   10     5     elements  [Ljava/lang/Object;
            5    9     6            i  I
    Signature: <T:Ljava/lang/Object;>(ILjava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/IntObjectToIntFunction<-TT;>;)I
    MethodParameters:
             Name  Flags
      injectValue  
      list         
      function     

  public static <T> long injectInto(long, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction<? super T>);
    descriptor: (JLjava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/LongObjectToLongFunction;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // long injectValue
        start local 2 // java.util.ArrayList list
        start local 3 // org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction function
         0: .line 1080
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1081
            aload 2 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1083
            lload 0 /* injectValue */
            lstore 5 /* result */
        start local 5 // long result
         3: .line 1084
            aload 2 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 7 /* elements */
        start local 7 // java.lang.Object[] elements
         4: .line 1085
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 1087
      StackMap locals: long java.util.ArrayList org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction int long java.lang.Object[] int
      StackMap stack:
            aload 3 /* function */
            lload 5 /* result */
            aload 7 /* elements */
            iload 8 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction.longValueOf:(JLjava/lang/Object;)J
            lstore 5 /* result */
         7: .line 1085
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 4 /* size */
            if_icmplt 6
        end local 8 // int i
         9: .line 1089
            lload 5 /* result */
            lreturn
        end local 7 // java.lang.Object[] elements
        end local 5 // long result
        10: .line 1091
      StackMap locals:
      StackMap stack:
            lload 0 /* injectValue */
            aload 2 /* list */
            aload 3 /* function */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectInto:(JLjava/util/List;Lorg/eclipse/collections/api/block/function/primitive/LongObjectToLongFunction;)J
            lreturn
        end local 4 // int size
        end local 3 // org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction function
        end local 2 // java.util.ArrayList list
        end local 0 // long injectValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  injectValue  J
            0   11     2         list  Ljava/util/ArrayList<TT;>;
            0   11     3     function  Lorg/eclipse/collections/api/block/function/primitive/LongObjectToLongFunction<-TT;>;
            1   11     4         size  I
            3   10     5       result  J
            4   10     7     elements  [Ljava/lang/Object;
            5    9     8            i  I
    Signature: <T:Ljava/lang/Object;>(JLjava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/LongObjectToLongFunction<-TT;>;)J
    MethodParameters:
             Name  Flags
      injectValue  
      list         
      function     

  public static <T> double injectInto(double, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction<? super T>);
    descriptor: (DLjava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/DoubleObjectToDoubleFunction;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // double injectValue
        start local 2 // java.util.ArrayList list
        start local 3 // org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction function
         0: .line 1102
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1103
            aload 2 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1105
            dload 0 /* injectValue */
            dstore 5 /* result */
        start local 5 // double result
         3: .line 1106
            aload 2 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 7 /* elements */
        start local 7 // java.lang.Object[] elements
         4: .line 1107
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 1109
      StackMap locals: double java.util.ArrayList org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction int double java.lang.Object[] int
      StackMap stack:
            aload 3 /* function */
            dload 5 /* result */
            aload 7 /* elements */
            iload 8 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction.doubleValueOf:(DLjava/lang/Object;)D
            dstore 5 /* result */
         7: .line 1107
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 4 /* size */
            if_icmplt 6
        end local 8 // int i
         9: .line 1111
            dload 5 /* result */
            dreturn
        end local 7 // java.lang.Object[] elements
        end local 5 // double result
        10: .line 1113
      StackMap locals:
      StackMap stack:
            dload 0 /* injectValue */
            aload 2 /* list */
            aload 3 /* function */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectInto:(DLjava/util/List;Lorg/eclipse/collections/api/block/function/primitive/DoubleObjectToDoubleFunction;)D
            dreturn
        end local 4 // int size
        end local 3 // org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction function
        end local 2 // java.util.ArrayList list
        end local 0 // double injectValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  injectValue  D
            0   11     2         list  Ljava/util/ArrayList<TT;>;
            0   11     3     function  Lorg/eclipse/collections/api/block/function/primitive/DoubleObjectToDoubleFunction<-TT;>;
            1   11     4         size  I
            3   10     5       result  D
            4   10     7     elements  [Ljava/lang/Object;
            5    9     8            i  I
    Signature: <T:Ljava/lang/Object;>(DLjava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/DoubleObjectToDoubleFunction<-TT;>;)D
    MethodParameters:
             Name  Flags
      injectValue  
      list         
      function     

  public static <T> float injectInto(float, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction<? super T>);
    descriptor: (FLjava/util/ArrayList;Lorg/eclipse/collections/api/block/function/primitive/FloatObjectToFloatFunction;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // float injectValue
        start local 1 // java.util.ArrayList list
        start local 2 // org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction function
         0: .line 1124
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1125
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1127
            fload 0 /* injectValue */
            fstore 4 /* result */
        start local 4 // float result
         3: .line 1128
            aload 1 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 1129
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1131
      StackMap locals: float java.util.ArrayList org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction int float java.lang.Object[] int
      StackMap stack:
            aload 2 /* function */
            fload 4 /* result */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction.floatValueOf:(FLjava/lang/Object;)F
            fstore 4 /* result */
         7: .line 1129
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 3 /* size */
            if_icmplt 6
        end local 6 // int i
         9: .line 1133
            fload 4 /* result */
            freturn
        end local 5 // java.lang.Object[] elements
        end local 4 // float result
        10: .line 1135
      StackMap locals:
      StackMap stack:
            fload 0 /* injectValue */
            aload 1 /* list */
            aload 2 /* function */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectInto:(FLjava/util/List;Lorg/eclipse/collections/api/block/function/primitive/FloatObjectToFloatFunction;)F
            freturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction function
        end local 1 // java.util.ArrayList list
        end local 0 // float injectValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  injectValue  F
            0   11     1         list  Ljava/util/ArrayList<TT;>;
            0   11     2     function  Lorg/eclipse/collections/api/block/function/primitive/FloatObjectToFloatFunction<-TT;>;
            1   11     3         size  I
            3   10     4       result  F
            4   10     5     elements  [Ljava/lang/Object;
            5    9     6            i  I
    Signature: <T:Ljava/lang/Object;>(FLjava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/primitive/FloatObjectToFloatFunction<-TT;>;)F
    MethodParameters:
             Name  Flags
      injectValue  
      list         
      function     

  public static <T> boolean anySatisfy(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1143
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1144
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1146
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1147
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1149
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1151
            iconst_1
            ireturn
         7: .line 1147
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         9: .line 1154
            iconst_0
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.anySatisfy:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   11     2       size  I
            3   10     3   elements  [Ljava/lang/Object;
            4    9     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> boolean anySatisfyWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 1167
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1168
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1170
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1171
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1173
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1175
            iconst_1
            ireturn
         7: .line 1171
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 1178
            iconst_0
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.anySatisfyWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
            ireturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   11     2  parameter  TP;
            1   11     3       size  I
            3   10     4   elements  [Ljava/lang/Object;
            4    9     5          i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> boolean allSatisfy(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1188
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1189
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1191
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1192
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1194
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 1196
            iconst_0
            ireturn
         7: .line 1192
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         9: .line 1199
            iconst_1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1201
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.allSatisfy:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   11     2       size  I
            3   10     3   elements  [Ljava/lang/Object;
            4    9     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, IV> boolean allSatisfyWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super IV>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
         0: .line 1212
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1213
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1215
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1216
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1218
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            aload 2 /* injectedValue */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
         6: .line 1220
            iconst_0
            ireturn
         7: .line 1216
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 1223
            iconst_1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1225
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.allSatisfyWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
            ireturn
        end local 3 // int size
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           list  Ljava/util/ArrayList<TT;>;
            0   11     1      predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;
            0   11     2  injectedValue  TIV;
            1   11     3           size  I
            3   10     4       elements  [Ljava/lang/Object;
            4    9     5              i  I
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;TIV;)Z
    MethodParameters:
               Name  Flags
      list           
      predicate      
      injectedValue  

  public static <T> boolean noneSatisfy(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1233
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1234
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1236
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1237
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1239
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1241
            iconst_0
            ireturn
         7: .line 1237
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         9: .line 1244
            iconst_1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1246
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.noneSatisfy:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   11     2       size  I
            3   10     3   elements  [Ljava/lang/Object;
            4    9     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, IV> boolean noneSatisfyWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super IV>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object injectedValue
         0: .line 1257
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1258
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1260
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1261
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1263
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            aload 2 /* injectedValue */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1265
            iconst_0
            ireturn
         7: .line 1261
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 1268
            iconst_1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1270
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* injectedValue */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.noneSatisfyWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
            ireturn
        end local 3 // int size
        end local 2 // java.lang.Object injectedValue
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           list  Ljava/util/ArrayList<TT;>;
            0   11     1      predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;
            0   11     2  injectedValue  TIV;
            1   11     3           size  I
            3   10     4       elements  [Ljava/lang/Object;
            4    9     5              i  I
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TIV;>;TIV;)Z
    MethodParameters:
               Name  Flags
      list           
      predicate      
      injectedValue  

  public static <T, P> org.eclipse.collections.api.tuple.Twin<org.eclipse.collections.api.list.MutableList<T>> selectAndRejectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, P);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Lorg/eclipse/collections/api/tuple/Twin;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 1281
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1282
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         2: .line 1284
            getstatic org.eclipse.collections.impl.factory.Lists.mutable:Lorg/eclipse/collections/api/factory/list/MutableListFactory;
            invokeinterface org.eclipse.collections.api.factory.list.MutableListFactory.empty:()Lorg/eclipse/collections/api/list/MutableList;
            astore 4 /* positiveResult */
        start local 4 // org.eclipse.collections.api.list.MutableList positiveResult
         3: .line 1285
            getstatic org.eclipse.collections.impl.factory.Lists.mutable:Lorg/eclipse/collections/api/factory/list/MutableListFactory;
            invokeinterface org.eclipse.collections.api.factory.list.MutableListFactory.empty:()Lorg/eclipse/collections/api/list/MutableList;
            astore 5 /* negativeResult */
        start local 5 // org.eclipse.collections.api.list.MutableList negativeResult
         4: .line 1286
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 6 /* elements */
        start local 6 // java.lang.Object[] elements
         5: .line 1287
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 1289
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object int org.eclipse.collections.api.list.MutableList org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
            aload 4 /* positiveResult */
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 5 /* negativeResult */
      StackMap locals:
      StackMap stack: org.eclipse.collections.api.list.MutableList
         9: aload 6 /* elements */
            iload 7 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1287
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 3 /* size */
            if_icmplt 7
        end local 7 // int i
        12: .line 1291
            aload 4 /* positiveResult */
            aload 5 /* negativeResult */
            invokestatic org.eclipse.collections.impl.tuple.Tuples.twin:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/tuple/Twin;
            areturn
        end local 6 // java.lang.Object[] elements
        end local 5 // org.eclipse.collections.api.list.MutableList negativeResult
        end local 4 // org.eclipse.collections.api.list.MutableList positiveResult
        13: .line 1293
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.selectAndRejectWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Lorg/eclipse/collections/api/tuple/Twin;
            areturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            list  Ljava/util/ArrayList<TT;>;
            0   14     1       predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   14     2       parameter  TP;
            1   14     3            size  I
            3   13     4  positiveResult  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            4   13     5  negativeResult  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            5   13     6        elements  [Ljava/lang/Object;
            6   12     7               i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)Lorg/eclipse/collections/api/tuple/Twin<Lorg/eclipse/collections/api/list/MutableList<TT;>;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> org.eclipse.collections.api.partition.list.PartitionMutableList<T> partition(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1301
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1302
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 16
         2: .line 1304
            new org.eclipse.collections.impl.partition.list.PartitionFastList
            dup
            invokespecial org.eclipse.collections.impl.partition.list.PartitionFastList.<init>:()V
            astore 3 /* partitionFastList */
        start local 3 // org.eclipse.collections.impl.partition.list.PartitionFastList partitionFastList
         3: .line 1305
            aload 3 /* partitionFastList */
            invokevirtual org.eclipse.collections.impl.partition.list.PartitionFastList.getSelected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 4 /* selected */
        start local 4 // org.eclipse.collections.api.list.MutableList selected
         4: .line 1306
            aload 3 /* partitionFastList */
            invokevirtual org.eclipse.collections.impl.partition.list.PartitionFastList.getRejected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 5 /* rejected */
        start local 5 // org.eclipse.collections.api.list.MutableList rejected
         5: .line 1308
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 6 /* elements */
        start local 6 // java.lang.Object[] elements
         6: .line 1309
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 14
         8: .line 1311
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int org.eclipse.collections.impl.partition.list.PartitionFastList org.eclipse.collections.api.list.MutableList org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            astore 8 /* each */
        start local 8 // java.lang.Object each
         9: .line 1312
            aload 1 /* predicate */
            aload 8 /* each */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 10
            aload 4 /* selected */
            goto 11
      StackMap locals: java.lang.Object
      StackMap stack:
        10: aload 5 /* rejected */
      StackMap locals:
      StackMap stack: org.eclipse.collections.api.list.MutableList
        11: astore 9 /* bucket */
        start local 9 // org.eclipse.collections.api.list.MutableList bucket
        12: .line 1313
            aload 9 /* bucket */
            aload 8 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.eclipse.collections.api.list.MutableList bucket
        end local 8 // java.lang.Object each
        13: .line 1309
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 2 /* size */
            if_icmplt 8
        end local 7 // int i
        15: .line 1315
            aload 3 /* partitionFastList */
            areturn
        end local 6 // java.lang.Object[] elements
        end local 5 // org.eclipse.collections.api.list.MutableList rejected
        end local 4 // org.eclipse.collections.api.list.MutableList selected
        end local 3 // org.eclipse.collections.impl.partition.list.PartitionFastList partitionFastList
        16: .line 1317
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.partition:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               list  Ljava/util/ArrayList<TT;>;
            0   17     1          predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   17     2               size  I
            3   16     3  partitionFastList  Lorg/eclipse/collections/impl/partition/list/PartitionFastList<TT;>;
            4   16     4           selected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            5   16     5           rejected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            6   16     6           elements  [Ljava/lang/Object;
            7   15     7                  i  I
            9   13     8               each  TT;
           12   13     9             bucket  Lorg/eclipse/collections/api/list/MutableList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> org.eclipse.collections.api.partition.list.PartitionMutableList<T> partitionWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, P);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 1322
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1323
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 16
         2: .line 1325
            new org.eclipse.collections.impl.partition.list.PartitionFastList
            dup
            invokespecial org.eclipse.collections.impl.partition.list.PartitionFastList.<init>:()V
            astore 4 /* partitionFastList */
        start local 4 // org.eclipse.collections.impl.partition.list.PartitionFastList partitionFastList
         3: .line 1326
            aload 4 /* partitionFastList */
            invokevirtual org.eclipse.collections.impl.partition.list.PartitionFastList.getSelected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 5 /* selected */
        start local 5 // org.eclipse.collections.api.list.MutableList selected
         4: .line 1327
            aload 4 /* partitionFastList */
            invokevirtual org.eclipse.collections.impl.partition.list.PartitionFastList.getRejected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 6 /* rejected */
        start local 6 // org.eclipse.collections.api.list.MutableList rejected
         5: .line 1329
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 7 /* elements */
        start local 7 // java.lang.Object[] elements
         6: .line 1330
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 14
         8: .line 1332
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object int org.eclipse.collections.impl.partition.list.PartitionFastList org.eclipse.collections.api.list.MutableList org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 7 /* elements */
            iload 8 /* i */
            aaload
            astore 9 /* each */
        start local 9 // java.lang.Object each
         9: .line 1333
            aload 1 /* predicate */
            aload 9 /* each */
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
            aload 5 /* selected */
            goto 11
      StackMap locals: java.lang.Object
      StackMap stack:
        10: aload 6 /* rejected */
      StackMap locals:
      StackMap stack: org.eclipse.collections.api.list.MutableList
        11: astore 10 /* bucket */
        start local 10 // org.eclipse.collections.api.list.MutableList bucket
        12: .line 1334
            aload 10 /* bucket */
            aload 9 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.eclipse.collections.api.list.MutableList bucket
        end local 9 // java.lang.Object each
        13: .line 1330
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            iload 3 /* size */
            if_icmplt 8
        end local 8 // int i
        15: .line 1336
            aload 4 /* partitionFastList */
            areturn
        end local 7 // java.lang.Object[] elements
        end local 6 // org.eclipse.collections.api.list.MutableList rejected
        end local 5 // org.eclipse.collections.api.list.MutableList selected
        end local 4 // org.eclipse.collections.impl.partition.list.PartitionFastList partitionFastList
        16: .line 1338
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.partitionWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
            areturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               list  Ljava/util/ArrayList<TT;>;
            0   17     1          predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   17     2          parameter  TP;
            1   17     3               size  I
            3   16     4  partitionFastList  Lorg/eclipse/collections/impl/partition/list/PartitionFastList<TT;>;
            4   16     5           selected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            5   16     6           rejected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            6   16     7           elements  [Ljava/lang/Object;
            7   15     8                  i  I
            9   13     9               each  TT;
           12   13    10             bucket  Lorg/eclipse/collections/api/list/MutableList<TT;>;
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> int detectIndex(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1346
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1347
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1349
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1350
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1352
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1354
            iload 4 /* i */
            ireturn
         7: .line 1350
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         9: .line 1357
            iconst_m1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1359
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectIndex:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   11     2       size  I
            3   10     3   elements  [Ljava/lang/Object;
            4    9     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)I
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> int detectIndexWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 1370
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1371
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1373
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1374
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1376
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1378
            iload 5 /* i */
            ireturn
         7: .line 1374
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         9: .line 1381
            iconst_m1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1383
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectIndexWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)I
            ireturn
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   11     2  parameter  TP;
            1   11     3       size  I
            3   10     4   elements  [Ljava/lang/Object;
            4    9     5          i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)I
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> int detectLastIndex(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1391
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1392
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1394
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1395
            iload 2 /* size */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1397
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1399
            iload 4 /* i */
            ireturn
         7: .line 1395
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            ifge 5
        end local 4 // int i
         9: .line 1402
            iconst_m1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1404
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.detectLastIndex:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)I
            ireturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   11     2       size  I
            3   10     3   elements  [Ljava/lang/Object;
            4    9     4          i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)I
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, IV, P> IV injectIntoWith(IV, java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function3<? super IV, ? super T, ? super P, ? extends IV>, );
    descriptor: (Ljava/lang/Object;Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function3;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // java.lang.Object injectedValue
        start local 1 // java.util.ArrayList list
        start local 2 // org.eclipse.collections.api.block.function.Function3 function
        start local 3 // java.lang.Object parameter
         0: .line 1416
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1417
            aload 1 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1419
            aload 0 /* injectedValue */
            astore 5 /* result */
        start local 5 // java.lang.Object result
         3: .line 1420
            aload 1 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 6 /* elements */
        start local 6 // java.lang.Object[] elements
         4: .line 1421
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 8
         6: .line 1423
      StackMap locals: java.lang.Object java.util.ArrayList org.eclipse.collections.api.block.function.Function3 java.lang.Object int java.lang.Object java.lang.Object[] int
      StackMap stack:
            aload 2 /* function */
            aload 5 /* result */
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            aload 3 /* parameter */
            invokeinterface org.eclipse.collections.api.block.function.Function3.value:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
         7: .line 1421
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 7 /* i */
            iload 4 /* size */
            if_icmplt 6
        end local 7 // int i
         9: .line 1425
            aload 5 /* result */
            areturn
        end local 6 // java.lang.Object[] elements
        end local 5 // java.lang.Object result
        10: .line 1427
      StackMap locals:
      StackMap stack:
            aload 0 /* injectedValue */
            aload 1 /* list */
            aload 2 /* function */
            aload 3 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.injectIntoWith:(Ljava/lang/Object;Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function3;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // int size
        end local 3 // java.lang.Object parameter
        end local 2 // org.eclipse.collections.api.block.function.Function3 function
        end local 1 // java.util.ArrayList list
        end local 0 // java.lang.Object injectedValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0  injectedValue  TIV;
            0   11     1           list  Ljava/util/ArrayList<TT;>;
            0   11     2       function  Lorg/eclipse/collections/api/block/function/Function3<-TIV;-TT;-TP;+TIV;>;
            0   11     3      parameter  TP;
            1   11     4           size  I
            3   10     5         result  TIV;
            4   10     6       elements  [Ljava/lang/Object;
            5    9     7              i  I
    Signature: <T:Ljava/lang/Object;IV:Ljava/lang/Object;P:Ljava/lang/Object;>(TIV;Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function3<-TIV;-TT;-TP;+TIV;>;TP;)TIV;
    MethodParameters:
               Name  Flags
      injectedValue  
      list           
      function       
      parameter      

  public static <T, P> void forEachWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.procedure.Procedure2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.procedure.Procedure2 procedure
        start local 2 // java.lang.Object parameter
         0: .line 1438
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1439
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1441
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1442
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 1444
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* procedure */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.procedure.Procedure2.value:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 1442
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
        end local 4 // java.lang.Object[] elements
         8: .line 1446
            goto 10
         9: .line 1449
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* procedure */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.forEachWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/lang/Object;)V
        10: .line 1451
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int size
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.procedure.Procedure2 procedure
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       list  Ljava/util/ArrayList<TT;>;
            0   11     1  procedure  Lorg/eclipse/collections/api/block/procedure/Procedure2<-TT;-TP;>;
            0   11     2  parameter  TP;
            1   11     3       size  I
            3    8     4   elements  [Ljava/lang/Object;
            4    8     5          i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/procedure/Procedure2<-TT;-TP;>;TP;)V
    MethodParameters:
           Name  Flags
      list       
      procedure  
      parameter  

  public static <T, P, A> java.util.ArrayList<A> collectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function2<? super T, ? super P, ? extends A>, P);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function2 function
        start local 2 // java.lang.Object parameter
         0: .line 1461
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* parameter */
            new java.util.ArrayList
            dup
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.collectWith:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.function.Function2 function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/ArrayList<TT;>;
            0    1     1   function  Lorg/eclipse/collections/api/block/function/Function2<-TT;-TP;+TA;>;
            0    1     2  parameter  TP;
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function2<-TT;-TP;+TA;>;TP;)Ljava/util/ArrayList<TA;>;
    MethodParameters:
           Name  Flags
      list       
      function   
      parameter  

  public static <T, P, A, R extends java.util.Collection<A>> R collectWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function2<? super T, ? super P, ? extends A>, P, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function2 function
        start local 2 // java.lang.Object parameter
        start local 3 // java.util.Collection targetCollection
         0: .line 1473
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1474
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1476
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         3: .line 1477
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 1479
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 3 /* targetCollection */
            aload 1 /* function */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1477
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 6 // int i
         8: .line 1481
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
         9: .line 1483
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* parameter */
            aload 3 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.collectWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 4 // int size
        end local 3 // java.util.Collection targetCollection
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.function.Function2 function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              list  Ljava/util/ArrayList<TT;>;
            0   10     1          function  Lorg/eclipse/collections/api/block/function/Function2<-TT;-TP;+TA;>;
            0   10     2         parameter  TP;
            0   10     3  targetCollection  TR;
            1   10     4              size  I
            3    9     5          elements  [Ljava/lang/Object;
            4    8     6                 i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;A:Ljava/lang/Object;R::Ljava/util/Collection<TA;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function2<-TT;-TP;+TA;>;TP;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      function          
      parameter         
      targetCollection  

  public static <T> boolean removeIf(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1492
            aload 0 /* list */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/ArrayList;
            if_acmpne 17
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.SIZE_FIELD:Ljava/lang/reflect/Field;
            ifnull 17
         1: .line 1494
            iconst_0
            istore 3 /* currentFilledIndex */
        start local 3 // int currentFilledIndex
         2: .line 1495
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         3: .line 1496
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 1497
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 11
         6: .line 1499
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate top int int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifne 10
         7: .line 1502
            iload 3 /* currentFilledIndex */
            iload 6 /* i */
            if_icmpeq 9
         8: .line 1504
            aload 5 /* elements */
            iload 3 /* currentFilledIndex */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aastore
         9: .line 1506
      StackMap locals:
      StackMap stack:
            iinc 3 /* currentFilledIndex */ 1
        10: .line 1497
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 6
        end local 6 // int i
        12: .line 1509
            iload 3 /* currentFilledIndex */
            iload 4 /* size */
            if_icmpge 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 2 /* changed */
        start local 2 // boolean changed
        15: .line 1510
            iload 3 /* currentFilledIndex */
            iload 4 /* size */
            aload 5 /* elements */
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.wipeAndResetTheEnd:(II[Ljava/lang/Object;Ljava/util/ArrayList;)V
        end local 5 // java.lang.Object[] elements
        end local 4 // int size
        end local 3 // int currentFilledIndex
        16: .line 1511
            goto 18
        end local 2 // boolean changed
        17: .line 1514
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.removeIf:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Z
            ireturn
        start local 2 // boolean changed
        18: .line 1516
      StackMap locals: int
      StackMap stack:
            iload 2 /* changed */
            ireturn
        end local 2 // boolean changed
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                list  Ljava/util/ArrayList<TT;>;
            0   19     1           predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
           15   17     2             changed  Z
           18   19     2             changed  Z
            2   16     3  currentFilledIndex  I
            3   16     4                size  I
            4   16     5            elements  [Ljava/lang/Object;
            5   12     6                   i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T, P> boolean removeIfWith(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate2<? super T, ? super P>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        start local 2 // java.lang.Object parameter
         0: .line 1528
            aload 0 /* list */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/ArrayList;
            if_acmpne 17
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.SIZE_FIELD:Ljava/lang/reflect/Field;
            ifnull 17
         1: .line 1530
            iconst_0
            istore 4 /* currentFilledIndex */
        start local 4 // int currentFilledIndex
         2: .line 1531
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* size */
        start local 5 // int size
         3: .line 1532
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 6 /* elements */
        start local 6 // java.lang.Object[] elements
         4: .line 1533
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 11
         6: .line 1535
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object top int int java.lang.Object[] int
      StackMap stack:
            aload 1 /* predicate */
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            aload 2 /* parameter */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 10
         7: .line 1538
            iload 4 /* currentFilledIndex */
            iload 7 /* i */
            if_icmpeq 9
         8: .line 1540
            aload 6 /* elements */
            iload 4 /* currentFilledIndex */
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            aastore
         9: .line 1542
      StackMap locals:
      StackMap stack:
            iinc 4 /* currentFilledIndex */ 1
        10: .line 1533
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 5 /* size */
            if_icmplt 6
        end local 7 // int i
        12: .line 1545
            iload 4 /* currentFilledIndex */
            iload 5 /* size */
            if_icmpge 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 3 /* changed */
        start local 3 // boolean changed
        15: .line 1546
            iload 4 /* currentFilledIndex */
            iload 5 /* size */
            aload 6 /* elements */
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.wipeAndResetTheEnd:(II[Ljava/lang/Object;Ljava/util/ArrayList;)V
        end local 6 // java.lang.Object[] elements
        end local 5 // int size
        end local 4 // int currentFilledIndex
        16: .line 1547
            goto 18
        end local 3 // boolean changed
        17: .line 1550
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate2 java.lang.Object
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            aload 2 /* parameter */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.removeIfWith:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate2;Ljava/lang/Object;)Z
            ireturn
        start local 3 // boolean changed
        18: .line 1552
      StackMap locals: int
      StackMap stack:
            iload 3 /* changed */
            ireturn
        end local 3 // boolean changed
        end local 2 // java.lang.Object parameter
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate2 predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                list  Ljava/util/ArrayList<TT;>;
            0   19     1           predicate  Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;
            0   19     2           parameter  TP;
           15   17     3             changed  Z
           18   19     3             changed  Z
            2   16     4  currentFilledIndex  I
            3   16     5                size  I
            4   16     6            elements  [Ljava/lang/Object;
            5   12     7                   i  I
    Signature: <T:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate2<-TT;-TP;>;TP;)Z
    MethodParameters:
           Name  Flags
      list       
      predicate  
      parameter  

  public static <T> java.util.ArrayList<T> distinct(java.util.ArrayList<T>);
    descriptor: (Ljava/util/ArrayList;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 1557
            aload 0 /* list */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.distinct:(Ljava/util/ArrayList;Ljava/util/List;)Ljava/util/List;
            checkcast java.util.ArrayList
            areturn
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/ArrayList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
      Name  Flags
      list  

  public static <T, R extends java.util.List<T>> R distinct(java.util.ArrayList<T>, );
    descriptor: (Ljava/util/ArrayList;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // java.util.List targetList
         0: .line 1566
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1567
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 1569
            invokestatic org.eclipse.collections.impl.set.mutable.UnifiedSet.newSet:()Lorg/eclipse/collections/impl/set/mutable/UnifiedSet;
            astore 3 /* seenSoFar */
        start local 3 // org.eclipse.collections.api.set.MutableSet seenSoFar
         3: .line 1570
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         4: .line 1571
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 1573
      StackMap locals: java.util.ArrayList java.util.List int org.eclipse.collections.api.set.MutableSet java.lang.Object[] int
      StackMap stack:
            aload 3 /* seenSoFar */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.set.MutableSet.add:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1575
            aload 1 /* targetList */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1571
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 5 // int i
        10: .line 1578
            aload 1 /* targetList */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.set.MutableSet seenSoFar
        11: .line 1580
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* targetList */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.distinct:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // int size
        end local 1 // java.util.List targetList
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        list  Ljava/util/ArrayList<TT;>;
            0   12     1  targetList  TR;
            1   12     2        size  I
            3   11     3   seenSoFar  Lorg/eclipse/collections/api/set/MutableSet<TT;>;
            4   11     4    elements  [Ljava/lang/Object;
            5   10     5           i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/List<TT;>;>(Ljava/util/ArrayList<TT;>;TR;)TR;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      list        
      targetList  

  public static <T> java.util.ArrayList<T> distinct(java.util.ArrayList<T>, org.eclipse.collections.api.block.HashingStrategy<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/HashingStrategy;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.HashingStrategy hashingStrategy
         0: .line 1588
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1589
            aload 1 /* hashingStrategy */
            invokestatic org.eclipse.collections.impl.set.strategy.mutable.UnifiedSetWithHashingStrategy.newSet:(Lorg/eclipse/collections/api/block/HashingStrategy;)Lorg/eclipse/collections/impl/set/strategy/mutable/UnifiedSetWithHashingStrategy;
            astore 3 /* seenSoFar */
        start local 3 // org.eclipse.collections.api.set.MutableSet seenSoFar
         2: .line 1590
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.ArrayList result
         3: .line 1591
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 12
         4: .line 1593
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         5: .line 1594
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 1596
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.HashingStrategy int org.eclipse.collections.api.set.MutableSet java.util.ArrayList java.lang.Object[] int
      StackMap stack:
            aload 3 /* seenSoFar */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.set.MutableSet.add:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1598
            aload 4 /* result */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1594
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 2 /* size */
            if_icmplt 7
        end local 6 // int i
        end local 5 // java.lang.Object[] elements
        11: .line 1601
            goto 19
        12: .line 1604
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 1606
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            astore 6 /* item */
        start local 6 // java.lang.Object item
        15: .line 1607
            aload 3 /* seenSoFar */
            aload 6 /* item */
            invokeinterface org.eclipse.collections.api.set.MutableSet.add:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 1609
            aload 4 /* result */
            aload 6 /* item */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object item
        17: .line 1604
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 14
        end local 5 // int i
        19: .line 1613
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // java.util.ArrayList result
        end local 3 // org.eclipse.collections.api.set.MutableSet seenSoFar
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.HashingStrategy hashingStrategy
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             list  Ljava/util/ArrayList<TT;>;
            0   20     1  hashingStrategy  Lorg/eclipse/collections/api/block/HashingStrategy<-TT;>;
            1   20     2             size  I
            2   20     3        seenSoFar  Lorg/eclipse/collections/api/set/MutableSet<TT;>;
            3   20     4           result  Ljava/util/ArrayList<TT;>;
            5   11     5         elements  [Ljava/lang/Object;
            6   11     6                i  I
           13   19     5                i  I
           15   17     6             item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/HashingStrategy<-TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
                 Name  Flags
      list             
      hashingStrategy  

  public static <T, V> java.util.ArrayList<T> distinctBy(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 1621
            aload 0 /* list */
            aload 1 /* function */
            invokestatic org.eclipse.collections.impl.block.factory.HashingStrategies.fromFunction:(Lorg/eclipse/collections/api/block/function/Function;)Lorg/eclipse/collections/api/block/HashingStrategy;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.distinct:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/HashingStrategy;)Ljava/util/ArrayList;
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  private static <T> void wipeAndResetTheEnd(int, int, T[], java.util.ArrayList<T>);
    descriptor: (II[Ljava/lang/Object;Ljava/util/ArrayList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // int newCurrentFilledIndex
        start local 1 // int newSize
        start local 2 // java.lang.Object[] newElements
        start local 3 // java.util.ArrayList list
         0: .line 1630
            iload 0 /* newCurrentFilledIndex */
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 1632
      StackMap locals: int
      StackMap stack:
            aload 2 /* newElements */
            iload 4 /* i */
            aconst_null
            aastore
         3: .line 1630
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            iload 1 /* newSize */
            if_icmplt 2
        end local 4 // int i
         5: .line 1636
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.SIZE_FIELD:Ljava/lang/reflect/Field;
            aload 3 /* list */
            iload 0 /* newCurrentFilledIndex */
            invokevirtual java.lang.reflect.Field.setInt:(Ljava/lang/Object;I)V
         6: .line 1637
            goto 12
         7: .line 1638
      StackMap locals: int int java.lang.Object[] java.util.ArrayList
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
         8: .line 1640
            new java.lang.RuntimeException
            dup
         9: .line 1641
            ldc "Something really bad happened on the way to pounding size into the ArrayList reflectively"
        10: .line 1642
            aload 4 /* e */
        11: .line 1640
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.IllegalAccessException e
        12: .line 1644
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.ArrayList list
        end local 2 // java.lang.Object[] newElements
        end local 1 // int newSize
        end local 0 // int newCurrentFilledIndex
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0  newCurrentFilledIndex  I
            0   13     1                newSize  I
            0   13     2            newElements  [Ljava/lang/Object;
            0   13     3                   list  Ljava/util/ArrayList<TT;>;
            1    5     4                      i  I
            8   12     4                      e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.IllegalAccessException
    Signature: <T:Ljava/lang/Object;>(II[TT;Ljava/util/ArrayList<TT;>;)V
    MethodParameters:
                       Name  Flags
      newCurrentFilledIndex  
      newSize                
      newElements            
      list                   

  public static <T extends java.lang.Comparable<? super T>> java.util.ArrayList<T> sortThis(java.util.ArrayList<T>);
    descriptor: (Ljava/util/ArrayList;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 1651
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.block.factory.Comparators.naturalOrder:()Lorg/eclipse/collections/api/block/SerializableComparator;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.sortThis:(Ljava/util/ArrayList;Ljava/util/Comparator;)Ljava/util/ArrayList;
            areturn
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/ArrayList<TT;>;
    Signature: <T::Ljava/lang/Comparable<-TT;>;>(Ljava/util/ArrayList<TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
      Name  Flags
      list  

  public static <T> java.util.ArrayList<T> sortThis(java.util.ArrayList<T>, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/Comparator;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // java.util.Comparator comparator
         0: .line 1659
            aload 0 /* list */
            aload 1 /* comparator */
            invokevirtual java.util.ArrayList.sort:(Ljava/util/Comparator;)V
         1: .line 1660
            aload 0 /* list */
            areturn
        end local 1 // java.util.Comparator comparator
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        list  Ljava/util/ArrayList<TT;>;
            0    2     1  comparator  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Ljava/util/Comparator<-TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
            Name  Flags
      list        
      comparator  

  public static <T> void toArray(java.util.ArrayList<T>, T[], int, );
    descriptor: (Ljava/util/ArrayList;[Ljava/lang/Object;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // java.lang.Object[] target
        start local 2 // int startIndex
        start local 3 // int sourceSize
         0: .line 1665
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.canAccessInternalArray:(Ljava/util/ArrayList;)Z
            ifeq 3
         1: .line 1667
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            iconst_0
            aload 1 /* target */
            iload 2 /* startIndex */
            iload 3 /* sourceSize */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1668
            goto 4
         3: .line 1671
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* target */
            iload 2 /* startIndex */
            iload 3 /* sourceSize */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.toArray:(Ljava/util/List;[Ljava/lang/Object;II)V
         4: .line 1673
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int sourceSize
        end local 2 // int startIndex
        end local 1 // java.lang.Object[] target
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        list  Ljava/util/ArrayList<TT;>;
            0    5     1      target  [Ljava/lang/Object;
            0    5     2  startIndex  I
            0    5     3  sourceSize  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;[TT;II)V
    MethodParameters:
            Name  Flags
      list        
      target      
      startIndex  
      sourceSize  

  public static <T> java.util.ArrayList<T> take(java.util.ArrayList<T>, int);
    descriptor: (Ljava/util/ArrayList;I)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // int count
         0: .line 1680
            iload 1 /* count */
            ifge 2
         1: .line 1682
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Count must be greater than zero, but was: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1684
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* count */
            new java.util.ArrayList
            dup
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 1 /* count */
            invokestatic java.lang.Math.min:(II)I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.take:(Ljava/util/ArrayList;ILjava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // int count
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   list  Ljava/util/ArrayList<TT;>;
            0    3     1  count  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;I)Ljava/util/ArrayList<TT;>;
    MethodParameters:
       Name  Flags
      list   
      count  

  public static <T, R extends java.util.Collection<T>> R take(java.util.ArrayList<T>, int, );
    descriptor: (Ljava/util/ArrayList;ILjava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // int count
        start local 2 // java.util.Collection targetList
         0: .line 1692
            iload 1 /* count */
            ifge 2
         1: .line 1694
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Count must be greater than zero, but was: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1697
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1698
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 12
         4: .line 1700
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         5: .line 1702
            iload 3 /* size */
            iload 1 /* count */
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* end */
        start local 5 // int end
         6: .line 1703
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 1705
      StackMap locals: java.util.ArrayList int java.util.Collection int java.lang.Object[] int int
      StackMap stack:
            aload 2 /* targetList */
            aload 4 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1703
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 5 /* end */
            if_icmplt 8
        end local 6 // int i
        11: .line 1707
            aload 2 /* targetList */
            areturn
        end local 5 // int end
        end local 4 // java.lang.Object[] elements
        12: .line 1709
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* count */
            aload 2 /* targetList */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.take:(Ljava/util/List;ILjava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetList
        end local 1 // int count
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        list  Ljava/util/ArrayList<TT;>;
            0   13     1       count  I
            0   13     2  targetList  TR;
            3   13     3        size  I
            5   12     4    elements  [Ljava/lang/Object;
            6   12     5         end  I
            7   11     6           i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;ITR;)TR;
    MethodParameters:
            Name  Flags
      list        
      count       
      targetList  

  public static <T> java.util.ArrayList<T> drop(java.util.ArrayList<T>, int);
    descriptor: (Ljava/util/ArrayList;I)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // int count
         0: .line 1717
            iload 1 /* count */
            ifge 2
         1: .line 1719
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Count must be greater than zero, but was: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1721
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* count */
            new java.util.ArrayList
            dup
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 1 /* count */
            invokestatic java.lang.Math.min:(II)I
            isub
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.drop:(Ljava/util/ArrayList;ILjava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.ArrayList
            areturn
        end local 1 // int count
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   list  Ljava/util/ArrayList<TT;>;
            0    3     1  count  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;I)Ljava/util/ArrayList<TT;>;
    MethodParameters:
       Name  Flags
      list   
      count  

  public static <T, R extends java.util.Collection<T>> R drop(java.util.ArrayList<T>, int, );
    descriptor: (Ljava/util/ArrayList;ILjava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // int count
        start local 2 // java.util.Collection targetList
         0: .line 1729
            iload 1 /* count */
            ifge 2
         1: .line 1731
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Count must be greater than zero, but was: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1733
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1734
            iload 1 /* count */
            iload 3 /* size */
            if_icmplt 5
         4: .line 1736
            aload 2 /* targetList */
            areturn
         5: .line 1738
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         6: .line 1740
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         7: .line 1742
            iload 1 /* count */
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 1744
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* targetList */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1742
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 9
        end local 5 // int i
        12: .line 1746
            aload 2 /* targetList */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1748
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* count */
            aload 2 /* targetList */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.drop:(Ljava/util/List;ILjava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetList
        end local 1 // int count
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        list  Ljava/util/ArrayList<TT;>;
            0   14     1       count  I
            0   14     2  targetList  TR;
            3   14     3        size  I
            7   13     4    elements  [Ljava/lang/Object;
            8   12     5           i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/Collection<TT;>;>(Ljava/util/ArrayList<TT;>;ITR;)TR;
    MethodParameters:
            Name  Flags
      list        
      count       
      targetList  

  public static <T, V> org.eclipse.collections.impl.multimap.list.FastListMultimap<V, T> groupBy(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Lorg/eclipse/collections/impl/multimap/list/FastListMultimap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 1758
            aload 0 /* list */
            aload 1 /* function */
            invokestatic org.eclipse.collections.impl.multimap.list.FastListMultimap.newMultimap:()Lorg/eclipse/collections/impl/multimap/list/FastListMultimap;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.groupBy:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
            checkcast org.eclipse.collections.impl.multimap.list.FastListMultimap
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;)Lorg/eclipse/collections/impl/multimap/list/FastListMultimap<TV;TT;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  public static <T, V, R extends org.eclipse.collections.api.multimap.MutableMultimap<V, T>> R groupBy(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends V>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
        start local 2 // org.eclipse.collections.api.multimap.MutableMultimap target
         0: .line 1769
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1770
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1772
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1773
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 1775
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 2 /* target */
            aload 1 /* function */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.multimap.MutableMultimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         6: .line 1773
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
         8: .line 1777
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 1779
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.groupBy:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.multimap.MutableMultimap target
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      list  Ljava/util/ArrayList<TT;>;
            0   10     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;
            0   10     2    target  TR;
            1   10     3      size  I
            3    9     4  elements  [Ljava/lang/Object;
            4    8     5         i  I
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;R::Lorg/eclipse/collections/api/multimap/MutableMultimap<TV;TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;TR;)TR;
    MethodParameters:
          Name  Flags
      list      
      function  
      target    

  public static <T, V> org.eclipse.collections.impl.multimap.list.FastListMultimap<V, T> groupByEach(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends java.lang.Iterable<V>>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Lorg/eclipse/collections/impl/multimap/list/FastListMultimap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 1789
            aload 0 /* list */
            aload 1 /* function */
            invokestatic org.eclipse.collections.impl.multimap.list.FastListMultimap.newMultimap:()Lorg/eclipse/collections/impl/multimap/list/FastListMultimap;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.groupByEach:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
            checkcast org.eclipse.collections.impl.multimap.list.FastListMultimap
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TV;>;>;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TV;>;>;)Lorg/eclipse/collections/impl/multimap/list/FastListMultimap<TV;TT;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  public static <T, V, R extends org.eclipse.collections.api.multimap.MutableMultimap<V, T>> R groupByEach(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends java.lang.Iterable<V>>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
        start local 2 // org.eclipse.collections.api.multimap.MutableMultimap target
         0: .line 1800
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1801
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         2: .line 1803
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         3: .line 1804
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 1806
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* function */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            astore 6 /* iterable */
        start local 6 // java.lang.Iterable iterable
         6: .line 1807
            aload 6 /* iterable */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.function.Function org.eclipse.collections.api.multimap.MutableMultimap int java.lang.Object[] int java.lang.Iterable top java.util.Iterator
      StackMap stack:
         7: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 7 /* key */
        start local 7 // java.lang.Object key
         8: .line 1809
            aload 2 /* target */
            aload 7 /* key */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.multimap.MutableMultimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Object key
         9: .line 1807
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.lang.Iterable iterable
        10: .line 1804
            iinc 5 /* i */ 1
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.function.Function org.eclipse.collections.api.multimap.MutableMultimap int java.lang.Object[] int
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
        12: .line 1812
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1814
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.groupByEach:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/multimap/MutableMultimap;)Lorg/eclipse/collections/api/multimap/MutableMultimap;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.multimap.MutableMultimap target
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      list  Ljava/util/ArrayList<TT;>;
            0   14     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TV;>;>;
            0   14     2    target  TR;
            1   14     3      size  I
            3   13     4  elements  [Ljava/lang/Object;
            4   12     5         i  I
            6   10     6  iterable  Ljava/lang/Iterable<TV;>;
            8    9     7       key  TV;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;R::Lorg/eclipse/collections/api/multimap/MutableMultimap<TV;TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+Ljava/lang/Iterable<TV;>;>;TR;)TR;
    MethodParameters:
          Name  Flags
      list      
      function  
      target    

  public static <T, V> org.eclipse.collections.api.map.MutableMap<V, T> groupByUniqueKey(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;)Lorg/eclipse/collections/api/map/MutableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
         0: .line 1824
            aload 0 /* list */
            aload 1 /* function */
            invokestatic org.eclipse.collections.impl.map.mutable.UnifiedMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/UnifiedMap;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.groupByUniqueKey:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/map/MutableMapIterable;)Lorg/eclipse/collections/api/map/MutableMapIterable;
            checkcast org.eclipse.collections.api.map.MutableMap
            areturn
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      list  Ljava/util/ArrayList<TT;>;
            0    1     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;)Lorg/eclipse/collections/api/map/MutableMap<TV;TT;>;
    MethodParameters:
          Name  Flags
      list      
      function  

  public static <T, V, R extends org.eclipse.collections.api.map.MutableMapIterable<V, T>> R groupByUniqueKey(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends V>, );
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/map/MutableMapIterable;)Lorg/eclipse/collections/api/map/MutableMapIterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function function
        start local 2 // org.eclipse.collections.api.map.MutableMapIterable target
         0: .line 1835
            aload 0 /* list */
            ifnonnull 2
         1: .line 1837
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot perform a groupByUniqueKey on null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1840
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1841
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         4: .line 1843
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         5: .line 1844
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 1846
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* function */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* key */
        start local 6 // java.lang.Object key
         8: .line 1847
            aload 2 /* target */
            aload 6 /* key */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.map.MutableMapIterable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 10
         9: .line 1849
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " already exists in map!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object key
        10: .line 1844
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 7
        end local 5 // int i
        12: .line 1852
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1854
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* function */
            aload 2 /* target */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.groupByUniqueKey:(Ljava/util/List;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/map/MutableMapIterable;)Lorg/eclipse/collections/api/map/MutableMapIterable;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.map.MutableMapIterable target
        end local 1 // org.eclipse.collections.api.block.function.Function function
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      list  Ljava/util/ArrayList<TT;>;
            0   14     1  function  Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;
            0   14     2    target  TR;
            3   14     3      size  I
            5   13     4  elements  [Ljava/lang/Object;
            6   12     5         i  I
            8   10     6       key  TV;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;R::Lorg/eclipse/collections/api/map/MutableMapIterable<TV;TT;>;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TV;>;TR;)TR;
    MethodParameters:
          Name  Flags
      list      
      function  
      target    

  public static <X, Y> org.eclipse.collections.api.list.MutableList<org.eclipse.collections.api.tuple.Pair<X, Y>> zip(java.util.ArrayList<X>, java.lang.Iterable<Y>);
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Iterable;)Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList xs
        start local 1 // java.lang.Iterable ys
         0: .line 1862
            aload 1 /* ys */
            instanceof java.util.Collection
            ifne 1
            aload 1 /* ys */
            instanceof org.eclipse.collections.api.RichIterable
            ifeq 5
         1: .line 1864
      StackMap locals:
      StackMap stack:
            aload 0 /* xs */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* xSize */
        start local 2 // int xSize
         2: .line 1865
            aload 1 /* ys */
            invokestatic org.eclipse.collections.impl.utility.Iterate.sizeOf:(Ljava/lang/Iterable;)I
            istore 3 /* ySize */
        start local 3 // int ySize
         3: .line 1866
            iload 2 /* xSize */
            iload 3 /* ySize */
            invokestatic java.lang.Math.min:(II)I
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:(I)Lorg/eclipse/collections/impl/list/mutable/FastList;
            astore 4 /* target */
        start local 4 // org.eclipse.collections.impl.list.mutable.FastList target
         4: .line 1867
            aload 0 /* xs */
            aload 1 /* ys */
            aload 4 /* target */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.zip:(Ljava/util/ArrayList;Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast org.eclipse.collections.api.list.MutableList
            areturn
        end local 4 // org.eclipse.collections.impl.list.mutable.FastList target
        end local 3 // int ySize
        end local 2 // int xSize
         5: .line 1869
      StackMap locals:
      StackMap stack:
            aload 0 /* xs */
            aload 1 /* ys */
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:()Lorg/eclipse/collections/impl/list/mutable/FastList;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.zip:(Ljava/util/ArrayList;Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast org.eclipse.collections.api.list.MutableList
            areturn
        end local 1 // java.lang.Iterable ys
        end local 0 // java.util.ArrayList xs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      xs  Ljava/util/ArrayList<TX;>;
            0    6     1      ys  Ljava/lang/Iterable<TY;>;
            2    5     2   xSize  I
            3    5     3   ySize  I
            4    5     4  target  Lorg/eclipse/collections/impl/list/mutable/FastList<Lorg/eclipse/collections/api/tuple/Pair<TX;TY;>;>;
    Signature: <X:Ljava/lang/Object;Y:Ljava/lang/Object;>(Ljava/util/ArrayList<TX;>;Ljava/lang/Iterable<TY;>;)Lorg/eclipse/collections/api/list/MutableList<Lorg/eclipse/collections/api/tuple/Pair<TX;TY;>;>;
    MethodParameters:
      Name  Flags
      xs    
      ys    

  public static <X, Y, R extends java.util.Collection<org.eclipse.collections.api.tuple.Pair<X, Y>>> R zip(java.util.ArrayList<X>, java.lang.Iterable<Y>, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.ArrayList xs
        start local 1 // java.lang.Iterable ys
        start local 2 // java.util.Collection targetCollection
         0: .line 1877
            aload 0 /* xs */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1878
            aload 0 /* xs */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1880
            aload 1 /* ys */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4 /* yIterator */
        start local 4 // java.util.Iterator yIterator
         3: .line 1881
            aload 0 /* xs */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         4: .line 1882
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1884
      StackMap locals: java.util.ArrayList java.lang.Iterable java.util.Collection int java.util.Iterator java.lang.Object[] int
      StackMap stack:
            aload 2 /* targetCollection */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 4 /* yIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.eclipse.collections.impl.tuple.Tuples.pair:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/tuple/Pair;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1882
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 3 /* size */
            if_icmpge 9
            aload 4 /* yIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 6 // int i
         9: .line 1886
      StackMap locals:
      StackMap stack:
            aload 2 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        end local 4 // java.util.Iterator yIterator
        10: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* xs */
            aload 1 /* ys */
            aload 2 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.zip:(Ljava/util/List;Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // int size
        end local 2 // java.util.Collection targetCollection
        end local 1 // java.lang.Iterable ys
        end local 0 // java.util.ArrayList xs
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0                xs  Ljava/util/ArrayList<TX;>;
            0   11     1                ys  Ljava/lang/Iterable<TY;>;
            0   11     2  targetCollection  TR;
            1   11     3              size  I
            3   10     4         yIterator  Ljava/util/Iterator<TY;>;
            4   10     5          elements  [Ljava/lang/Object;
            5    9     6                 i  I
    Signature: <X:Ljava/lang/Object;Y:Ljava/lang/Object;R::Ljava/util/Collection<Lorg/eclipse/collections/api/tuple/Pair<TX;TY;>;>;>(Ljava/util/ArrayList<TX;>;Ljava/lang/Iterable<TY;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      xs                
      ys                
      targetCollection  

  public static <T> org.eclipse.collections.api.list.MutableList<org.eclipse.collections.api.tuple.Pair<T, java.lang.Integer>> zipWithIndex(java.util.ArrayList<T>);
    descriptor: (Ljava/util/ArrayList;)Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 1896
            aload 0 /* list */
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:(I)Lorg/eclipse/collections/impl/list/mutable/FastList;
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.zipWithIndex:(Ljava/util/ArrayList;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast org.eclipse.collections.api.list.MutableList
            areturn
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/ArrayList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;)Lorg/eclipse/collections/api/list/MutableList<Lorg/eclipse/collections/api/tuple/Pair<TT;Ljava/lang/Integer;>;>;
    MethodParameters:
      Name  Flags
      list  

  public static <T, R extends java.util.Collection<org.eclipse.collections.api.tuple.Pair<T, java.lang.Integer>>> R zipWithIndex(java.util.ArrayList<T>, );
    descriptor: (Ljava/util/ArrayList;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // java.util.Collection targetCollection
         0: .line 1904
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1905
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1907
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 3 /* elements */
        start local 3 // java.lang.Object[] elements
         3: .line 1908
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1910
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 1 /* targetCollection */
            aload 3 /* elements */
            iload 4 /* i */
            aaload
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.eclipse.collections.impl.tuple.Tuples.pair:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/tuple/Pair;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1908
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         8: .line 1912
            aload 1 /* targetCollection */
            areturn
        end local 3 // java.lang.Object[] elements
         9: .line 1914
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* targetCollection */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.zipWithIndex:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // int size
        end local 1 // java.util.Collection targetCollection
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              list  Ljava/util/ArrayList<TT;>;
            0   10     1  targetCollection  TR;
            1   10     2              size  I
            3    9     3          elements  [Ljava/lang/Object;
            4    8     4                 i  I
    Signature: <T:Ljava/lang/Object;R::Ljava/util/Collection<Lorg/eclipse/collections/api/tuple/Pair<TT;Ljava/lang/Integer;>;>;>(Ljava/util/ArrayList<TT;>;TR;)TR;
    MethodParameters:
                  Name  Flags
      list              
      targetCollection  

  public static <T> org.eclipse.collections.api.list.MutableList<T> takeWhile(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1919
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1920
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 14
         2: .line 1922
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:()Lorg/eclipse/collections/impl/list/mutable/FastList;
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.MutableList result
         3: .line 1923
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         4: .line 1924
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 12
         6: .line 1926
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* element */
        start local 6 // java.lang.Object element
         7: .line 1927
            aload 1 /* predicate */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1929
            aload 3 /* result */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1930
            goto 11
        10: .line 1933
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 6 // java.lang.Object element
        11: .line 1924
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 5 // int i
        13: .line 1936
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.list.MutableList result
        14: .line 1938
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.takeWhile:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/list/MutableList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       list  Ljava/util/ArrayList<TT;>;
            0   15     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   15     2       size  I
            3   14     3     result  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            4   14     4   elements  [Ljava/lang/Object;
            5   13     5          i  I
            7   11     6    element  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Lorg/eclipse/collections/api/list/MutableList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T> org.eclipse.collections.api.list.MutableList<T> dropWhile(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1943
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1944
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 19
         2: .line 1946
            invokestatic org.eclipse.collections.impl.list.mutable.FastList.newList:()Lorg/eclipse/collections/impl/list/mutable/FastList;
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.list.MutableList result
         3: .line 1947
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 4 /* elements */
        start local 4 // java.lang.Object[] elements
         4: .line 1948
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 17
         6: .line 1950
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            astore 6 /* element */
        start local 6 // java.lang.Object element
         7: .line 1951
            aload 1 /* predicate */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifne 16
         8: .line 1953
            aload 3 /* result */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1954
            iload 5 /* i */
            iconst_1
            iadd
            istore 7 /* j */
        start local 7 // int j
        10: goto 14
        11: .line 1956
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 4 /* elements */
            iload 7 /* j */
            aaload
            astore 8 /* eachNotDropped */
        start local 8 // java.lang.Object eachNotDropped
        12: .line 1957
            aload 3 /* result */
            aload 8 /* eachNotDropped */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.Object eachNotDropped
        13: .line 1954
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* j */
            iload 2 /* size */
            if_icmplt 11
        end local 7 // int j
        15: .line 1959
            aload 3 /* result */
            areturn
        end local 6 // java.lang.Object element
        16: .line 1948
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 5 // int i
        18: .line 1962
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.list.MutableList result
        19: .line 1964
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.dropWhile:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/list/MutableList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            list  Ljava/util/ArrayList<TT;>;
            0   20     1       predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   20     2            size  I
            3   19     3          result  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            4   19     4        elements  [Ljava/lang/Object;
            5   18     5               i  I
            7   16     6         element  TT;
           10   15     7               j  I
           12   13     8  eachNotDropped  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Lorg/eclipse/collections/api/list/MutableList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T> org.eclipse.collections.api.partition.list.PartitionMutableList<T> partitionWhile(java.util.ArrayList<T>, org.eclipse.collections.api.block.predicate.Predicate<? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
         0: .line 1969
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1970
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 22
         2: .line 1972
            new org.eclipse.collections.impl.partition.list.PartitionFastList
            dup
            invokespecial org.eclipse.collections.impl.partition.list.PartitionFastList.<init>:()V
            astore 3 /* result */
        start local 3 // org.eclipse.collections.api.partition.list.PartitionMutableList result
         3: .line 1973
            aload 3 /* result */
            invokeinterface org.eclipse.collections.api.partition.list.PartitionMutableList.getSelected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 4 /* selected */
        start local 4 // org.eclipse.collections.api.list.MutableList selected
         4: .line 1975
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            astore 5 /* elements */
        start local 5 // java.lang.Object[] elements
         5: .line 1976
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 20
         7: .line 1978
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int org.eclipse.collections.api.partition.list.PartitionMutableList org.eclipse.collections.api.list.MutableList java.lang.Object[] int
      StackMap stack:
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            astore 7 /* each */
        start local 7 // java.lang.Object each
         8: .line 1979
            aload 1 /* predicate */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1981
            aload 4 /* selected */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1982
            goto 19
        11: .line 1985
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            invokeinterface org.eclipse.collections.api.partition.list.PartitionMutableList.getRejected:()Lorg/eclipse/collections/api/list/MutableList;
            astore 8 /* rejected */
        start local 8 // org.eclipse.collections.api.list.MutableList rejected
        12: .line 1986
            aload 8 /* rejected */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1987
            iload 6 /* i */
            iconst_1
            iadd
            istore 9 /* j */
        start local 9 // int j
        14: goto 17
        15: .line 1989
      StackMap locals: org.eclipse.collections.api.list.MutableList int
      StackMap stack:
            aload 8 /* rejected */
            aload 5 /* elements */
            iload 9 /* j */
            aaload
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1987
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* j */
            iload 2 /* size */
            if_icmplt 15
        end local 9 // int j
        18: .line 1991
            aload 3 /* result */
            areturn
        end local 8 // org.eclipse.collections.api.list.MutableList rejected
        end local 7 // java.lang.Object each
        19: .line 1976
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 2 /* size */
            if_icmplt 7
        end local 6 // int i
        21: .line 1994
            aload 3 /* result */
            areturn
        end local 5 // java.lang.Object[] elements
        end local 4 // org.eclipse.collections.api.list.MutableList selected
        end local 3 // org.eclipse.collections.api.partition.list.PartitionMutableList result
        22: .line 1996
      StackMap locals: java.util.ArrayList org.eclipse.collections.api.block.predicate.Predicate int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.eclipse.collections.impl.utility.internal.RandomAccessListIterate.partitionWhile:(Ljava/util/List;Lorg/eclipse/collections/api/block/predicate/Predicate;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList;
            areturn
        end local 2 // int size
        end local 1 // org.eclipse.collections.api.block.predicate.Predicate predicate
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       list  Ljava/util/ArrayList<TT;>;
            0   23     1  predicate  Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;
            1   23     2       size  I
            3   22     3     result  Lorg/eclipse/collections/api/partition/list/PartitionMutableList<TT;>;
            4   22     4   selected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
            5   22     5   elements  [Ljava/lang/Object;
            6   21     6          i  I
            8   19     7       each  TT;
           12   19     8   rejected  Lorg/eclipse/collections/api/list/MutableList<TT;>;
           14   18     9          j  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/predicate/Predicate<-TT;>;)Lorg/eclipse/collections/api/partition/list/PartitionMutableList<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  private static boolean canAccessInternalArray(java.util.ArrayList<?>);
    descriptor: (Ljava/util/ArrayList;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 2001
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
            ifnull 1
            aload 0 /* list */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/ArrayList;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  list  Ljava/util/ArrayList<*>;
    Signature: (Ljava/util/ArrayList<*>;)Z
    MethodParameters:
      Name  Flags
      list  

  private static boolean isOptimizableArrayList(java.util.ArrayList<?>, );
    descriptor: (Ljava/util/ArrayList;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // int newSize
         0: .line 2006
            iload 1 /* newSize */
            bipush 100
            if_icmple 4
         1: .line 2007
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
            ifnull 4
         2: .line 2008
            aload 0 /* list */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/ArrayList;
            if_acmpne 4
         3: .line 2006
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // int newSize
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     list  Ljava/util/ArrayList<*>;
            0    5     1  newSize  I
    Signature: (Ljava/util/ArrayList<*>;I)Z
    MethodParameters:
         Name  Flags
      list     
      newSize  

  private static <T> T[] getInternalArray(java.util.ArrayList<T>);
    descriptor: (Ljava/util/ArrayList;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 2015
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
            aload 0 /* list */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
         1: areturn
         2: .line 2017
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 2019
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.IllegalAccessException e
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/ArrayList<TT;>;
            3    4     1     e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;)[TT;
    MethodParameters:
      Name  Flags
      list  

  public static <T, K, V> org.eclipse.collections.api.map.MutableMap<K, V> aggregateInPlaceBy(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends K>, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.procedure.Procedure2<? super V, ? super T>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/procedure/Procedure2;)Lorg/eclipse/collections/api/map/MutableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function groupBy
        start local 2 // org.eclipse.collections.api.block.function.Function0 zeroValueFactory
        start local 3 // org.eclipse.collections.api.block.procedure.Procedure2 mutatingAggregator
         0: .line 2029
            invokestatic org.eclipse.collections.impl.map.mutable.UnifiedMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/UnifiedMap;
            astore 4 /* map */
        start local 4 // org.eclipse.collections.api.map.MutableMap map
         1: .line 2030
            aload 0 /* list */
            new org.eclipse.collections.impl.block.procedure.MutatingAggregationProcedure
            dup
            aload 4 /* map */
            aload 1 /* groupBy */
            aload 2 /* zeroValueFactory */
            aload 3 /* mutatingAggregator */
            invokespecial org.eclipse.collections.impl.block.procedure.MutatingAggregationProcedure.<init>:(Lorg/eclipse/collections/api/map/MutableMapIterable;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.forEach:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
         2: .line 2031
            aload 4 /* map */
            areturn
        end local 4 // org.eclipse.collections.api.map.MutableMap map
        end local 3 // org.eclipse.collections.api.block.procedure.Procedure2 mutatingAggregator
        end local 2 // org.eclipse.collections.api.block.function.Function0 zeroValueFactory
        end local 1 // org.eclipse.collections.api.block.function.Function groupBy
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                list  Ljava/util/ArrayList<TT;>;
            0    3     1             groupBy  Lorg/eclipse/collections/api/block/function/Function<-TT;+TK;>;
            0    3     2    zeroValueFactory  Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
            0    3     3  mutatingAggregator  Lorg/eclipse/collections/api/block/procedure/Procedure2<-TV;-TT;>;
            1    3     4                 map  Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
    Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TK;>;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/procedure/Procedure2<-TV;-TT;>;)Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
    MethodParameters:
                    Name  Flags
      list                
      groupBy             
      zeroValueFactory    
      mutatingAggregator  

  public static <T, K, V> org.eclipse.collections.api.map.MutableMap<K, V> aggregateBy(java.util.ArrayList<T>, org.eclipse.collections.api.block.function.Function<? super T, ? extends K>, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.function.Function2<? super V, ? super T, ? extends V>);
    descriptor: (Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function2;)Lorg/eclipse/collections/api/map/MutableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.util.ArrayList list
        start local 1 // org.eclipse.collections.api.block.function.Function groupBy
        start local 2 // org.eclipse.collections.api.block.function.Function0 zeroValueFactory
        start local 3 // org.eclipse.collections.api.block.function.Function2 nonMutatingAggregator
         0: .line 2040
            invokestatic org.eclipse.collections.impl.map.mutable.UnifiedMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/UnifiedMap;
            astore 4 /* map */
        start local 4 // org.eclipse.collections.api.map.MutableMap map
         1: .line 2041
            aload 0 /* list */
            new org.eclipse.collections.impl.block.procedure.NonMutatingAggregationProcedure
            dup
            aload 4 /* map */
            aload 1 /* groupBy */
            aload 2 /* zeroValueFactory */
            aload 3 /* nonMutatingAggregator */
            invokespecial org.eclipse.collections.impl.block.procedure.NonMutatingAggregationProcedure.<init>:(Lorg/eclipse/collections/api/map/MutableMapIterable;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function2;)V
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.forEach:(Ljava/util/ArrayList;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
         2: .line 2042
            aload 4 /* map */
            areturn
        end local 4 // org.eclipse.collections.api.map.MutableMap map
        end local 3 // org.eclipse.collections.api.block.function.Function2 nonMutatingAggregator
        end local 2 // org.eclipse.collections.api.block.function.Function0 zeroValueFactory
        end local 1 // org.eclipse.collections.api.block.function.Function groupBy
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   list  Ljava/util/ArrayList<TT;>;
            0    3     1                groupBy  Lorg/eclipse/collections/api/block/function/Function<-TT;+TK;>;
            0    3     2       zeroValueFactory  Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
            0    3     3  nonMutatingAggregator  Lorg/eclipse/collections/api/block/function/Function2<-TV;-TT;+TV;>;
            1    3     4                    map  Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
    Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;Lorg/eclipse/collections/api/block/function/Function<-TT;+TK;>;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/function/Function2<-TV;-TT;+TV;>;)Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
    MethodParameters:
                       Name  Flags
      list                   
      groupBy                
      zeroValueFactory       
      nonMutatingAggregator  
}
SourceFile: "ArrayListIterate.java"