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 103
            aconst_null
            astore 0 /* data */
        start local 0 // java.lang.reflect.Field data
         1: .line 104
            aconst_null
            astore 1 /* size */
        start local 1 // java.lang.reflect.Field size
         2: .line 107
            ldc Ljava/util/ArrayList;
            ldc "elementData"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 0 /* data */
         3: .line 108
            ldc Ljava/util/ArrayList;
            ldc "size"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* size */
         4: .line 109
            aload 0 /* data */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         5: .line 110
            aload 1 /* size */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         6: .line 111
            goto 10
         7: .line 112
      StackMap locals: java.lang.reflect.Field java.lang.reflect.Field
      StackMap stack: java.lang.Exception
            pop
         8: .line 114
            aconst_null
            astore 0 /* data */
         9: .line 115
            aconst_null
            astore 1 /* size */
        10: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            putstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
        11: .line 118
            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 119
            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 121
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 123
            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 131
            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 142
            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 153
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 154
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 156
            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 157
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 159
      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 161
            aload 2 /* targetCollection */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 157
      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 164
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
        10: .line 166
      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 178
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 179
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 181
            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 182
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 184
      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 186
            aload 3 /* targetCollection */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 182
      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 189
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 191
      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 201
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 202
            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 203
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         3: .line 205
            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 206
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 208
      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 209
            aload 1 /* clazz */
            aload 6 /* element */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 211
            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 206
      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 214
            aload 3 /* result */
            invokevirtual org.eclipse.collections.impl.list.mutable.FastList.trimToSize:()V
        12: .line 215
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 217
      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 225
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 226
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 228
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         3: .line 229
            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 230
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 232
      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 234
            iinc 3 /* count */ 1
         8: .line 230
      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 237
            iload 3 /* count */
            ireturn
        end local 4 // java.lang.Object[] elements
        end local 3 // int count
        11: .line 239
      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 250
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 251
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 253
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         3: .line 254
            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 255
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 9
         6: .line 257
      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 259
            iinc 4 /* count */ 1
         8: .line 255
      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 262
            iload 4 /* count */
            ireturn
        end local 5 // java.lang.Object[] elements
        end local 4 // int count
        11: .line 264
      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 275
            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 287
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 288
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 290
            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 291
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 293
      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 295
            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 291
      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 298
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 300
      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 308
            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 319
            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 330
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 331
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 333
            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 334
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 336
      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 338
            aload 2 /* targetCollection */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 334
      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 341
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
        10: .line 343
      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 355
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 356
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 358
            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 359
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 8
         5: .line 361
      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 363
            aload 3 /* targetCollection */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 359
      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 366
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        10: .line 368
      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 378
            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 388
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 389
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 391
            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 392
            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 394
      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 402
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 403
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 405
            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 407
      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 412
            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 413
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 415
      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 413
            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 417
            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 427
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 428
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 430
            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 431
            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 433
      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 441
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 442
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 444
            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 446
      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 455
            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 456
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 458
      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 456
            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 460
            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 470
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 471
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 473
            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 474
            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 476
      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 484
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 485
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 487
            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 489
      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 498
            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 499
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 501
      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 499
            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 503
            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 513
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 514
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 516
            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 517
            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 519
      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 527
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 528
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 530
            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 532
      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 541
            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 542
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 544
      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 542
            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 546
            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 556
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 557
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 559
            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 560
            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 562
      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 570
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 571
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 573
            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 575
      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 584
            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 585
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 587
      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 585
            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 589
            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 599
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 600
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 602
            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 603
            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 605
      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 613
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 614
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 616
            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 618
      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 623
            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 624
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 626
      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 624
            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 628
            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 638
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 639
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 641
            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 642
            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 644
      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 652
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 653
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 655
            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 657
      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 666
            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 667
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 669
      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 667
            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 671
            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 681
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 682
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 4
         2: .line 684
            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 685
            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 687
      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 695
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 696
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 3
         2: .line 698
            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 700
      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 709
            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 710
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 712
      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 710
            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 714
            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 725
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 726
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 728
            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 729
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 731
      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 729
            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 733
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 735
      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 745
            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 756
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 757
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 759
            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 760
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 762
      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 760
            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 764
            aload 2 /* targetCollection */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 766
      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 774
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 775
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 777
            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 778
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 780
      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 778
            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 782
            goto 10
         9: .line 785
      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 787
      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 794
            aload 0 /* list */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 2
         1: .line 796
            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 798
      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 805
            aload 0 /* list */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 2
         1: .line 807
            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 809
      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 831
            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 832
            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 834
            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 836
            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 837
            goto 6
         5: .line 840
      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 842
      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 869
            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 870
            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 872
            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 874
            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 875
            goto 6
         5: .line 878
      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 880
      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 890
            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 891
            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 898
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 899
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 901
            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 902
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 904
      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 902
            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 906
            goto 10
         9: .line 909
      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 911
      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 918
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 919
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 921
            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 922
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 924
      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 925
            aload 1 /* predicate */
            aload 5 /* item */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 927
            aload 5 /* item */
            areturn
        end local 5 // java.lang.Object item
         8: .line 922
      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 930
            aconst_null
            areturn
        end local 3 // java.lang.Object[] elements
        11: .line 932
      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 943
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 944
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 946
            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 947
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 949
      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 950
            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 952
            aload 6 /* item */
            areturn
        end local 6 // java.lang.Object item
         8: .line 947
      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 955
            aconst_null
            areturn
        end local 4 // java.lang.Object[] elements
        11: .line 957
      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 965
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 966
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 968
            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 969
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 971
      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 972
            aload 1 /* predicate */
            aload 5 /* item */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 974
            aload 5 /* item */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 5 // java.lang.Object item
         8: .line 969
      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 977
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 3 // java.lang.Object[] elements
        11: .line 979
      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 990
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 991
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 993
            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 994
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 996
      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 997
            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 999
            aload 6 /* item */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 6 // java.lang.Object item
         8: .line 994
      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 1002
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 4 // java.lang.Object[] elements
        11: .line 1004
      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 1012
            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 1013
            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 1025
            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 1026
            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 1037
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1038
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1040
            aload 0 /* injectValue */
            astore 4 /* result */
        start local 4 // java.lang.Object result
         3: .line 1041
            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 1042
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1044
      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 1042
            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 1046
            aload 4 /* result */
            areturn
        end local 5 // java.lang.Object[] elements
        end local 4 // java.lang.Object result
        10: .line 1048
      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 1059
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1060
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1062
            iload 0 /* injectValue */
            istore 4 /* result */
        start local 4 // int result
         3: .line 1063
            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 1064
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1066
      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 1064
            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 1068
            iload 4 /* result */
            ireturn
        end local 5 // java.lang.Object[] elements
        end local 4 // int result
        10: .line 1070
      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 1081
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1082
            aload 2 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1084
            lload 0 /* injectValue */
            lstore 5 /* result */
        start local 5 // long result
         3: .line 1085
            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 1086
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 1088
      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 1086
            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 1090
            lload 5 /* result */
            lreturn
        end local 7 // java.lang.Object[] elements
        end local 5 // long result
        10: .line 1092
      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 1103
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1104
            aload 2 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1106
            dload 0 /* injectValue */
            dstore 5 /* result */
        start local 5 // double result
         3: .line 1107
            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 1108
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 1110
      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 1108
            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 1112
            dload 5 /* result */
            dreturn
        end local 7 // java.lang.Object[] elements
        end local 5 // double result
        10: .line 1114
      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 1125
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1126
            aload 1 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1128
            fload 0 /* injectValue */
            fstore 4 /* result */
        start local 4 // float result
         3: .line 1129
            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 1130
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1132
      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 1130
            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 1134
            fload 4 /* result */
            freturn
        end local 5 // java.lang.Object[] elements
        end local 4 // float result
        10: .line 1136
      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 1144
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1145
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1147
            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 1148
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1150
      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 1152
            iconst_1
            ireturn
         7: .line 1148
      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 1155
            iconst_0
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1157
      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 1168
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1169
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1171
            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 1172
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1174
      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 1176
            iconst_1
            ireturn
         7: .line 1172
      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 1179
            iconst_0
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1181
      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 1189
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1190
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1192
            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 1193
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1195
      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 1197
            iconst_0
            ireturn
         7: .line 1193
      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 1200
            iconst_1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1202
      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 1213
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1214
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1216
            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 1217
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1219
      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 1221
            iconst_0
            ireturn
         7: .line 1217
      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 1224
            iconst_1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1226
      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 1234
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1235
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1237
            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 1238
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1240
      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 1242
            iconst_0
            ireturn
         7: .line 1238
      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 1245
            iconst_1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1247
      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 1258
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1259
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1261
            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 1262
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1264
      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 1266
            iconst_0
            ireturn
         7: .line 1262
      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 1269
            iconst_1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1271
      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 1282
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1283
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         2: .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 4 /* positiveResult */
        start local 4 // org.eclipse.collections.api.list.MutableList positiveResult
         3: .line 1286
            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 1287
            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 1288
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 1290
      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 1288
            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 1292
            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 1294
      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 1302
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1303
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 16
         2: .line 1305
            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 1306
            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 1307
            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 1309
            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 1310
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 14
         8: .line 1312
      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 1313
            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 1314
            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 1310
            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 1316
            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 1318
      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 1323
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1324
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 16
         2: .line 1326
            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 1327
            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 1328
            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 1330
            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 1331
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 14
         8: .line 1333
      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 1334
            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 1335
            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 1331
            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 1337
            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 1339
      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 1347
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1348
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1350
            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 1351
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1353
      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 1355
            iload 4 /* i */
            ireturn
         7: .line 1351
      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 1358
            iconst_m1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1360
      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 1371
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1372
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1374
            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 1375
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1377
      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 1379
            iload 5 /* i */
            ireturn
         7: .line 1375
      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 1382
            iconst_m1
            ireturn
        end local 4 // java.lang.Object[] elements
        10: .line 1384
      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 1392
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1393
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1395
            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 1396
            iload 2 /* size */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1398
      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 1400
            iload 4 /* i */
            ireturn
         7: .line 1396
      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 1403
            iconst_m1
            ireturn
        end local 3 // java.lang.Object[] elements
        10: .line 1405
      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 1417
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1418
            aload 1 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1420
            aload 0 /* injectedValue */
            astore 5 /* result */
        start local 5 // java.lang.Object result
         3: .line 1421
            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 1422
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 8
         6: .line 1424
      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 1422
            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 1426
            aload 5 /* result */
            areturn
        end local 6 // java.lang.Object[] elements
        end local 5 // java.lang.Object result
        10: .line 1428
      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 1439
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1440
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1442
            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 1443
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 1445
      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 1443
            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 1447
            goto 10
         9: .line 1450
      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 1452
      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 1462
            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 1474
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1475
            aload 0 /* list */
            iload 4 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1477
            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 1478
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 1480
      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 1478
            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 1482
            aload 3 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
         9: .line 1484
      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 1493
            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 1495
            iconst_0
            istore 3 /* currentFilledIndex */
        start local 3 // int currentFilledIndex
         2: .line 1496
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         3: .line 1497
            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 1498
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 11
         6: .line 1500
      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 1503
            iload 3 /* currentFilledIndex */
            iload 6 /* i */
            if_icmpeq 9
         8: .line 1505
            aload 5 /* elements */
            iload 3 /* currentFilledIndex */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aastore
         9: .line 1507
      StackMap locals:
      StackMap stack:
            iinc 3 /* currentFilledIndex */ 1
        10: .line 1498
      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 1510
            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 1511
            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 1512
            goto 18
        end local 2 // boolean changed
        17: .line 1515
      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 1517
      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 1529
            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 1531
            iconst_0
            istore 4 /* currentFilledIndex */
        start local 4 // int currentFilledIndex
         2: .line 1532
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* size */
        start local 5 // int size
         3: .line 1533
            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 1534
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 11
         6: .line 1536
      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 1539
            iload 4 /* currentFilledIndex */
            iload 7 /* i */
            if_icmpeq 9
         8: .line 1541
            aload 6 /* elements */
            iload 4 /* currentFilledIndex */
            aload 6 /* elements */
            iload 7 /* i */
            aaload
            aastore
         9: .line 1543
      StackMap locals:
      StackMap stack:
            iinc 4 /* currentFilledIndex */ 1
        10: .line 1534
      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 1546
            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 1547
            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 1548
            goto 18
        end local 3 // boolean changed
        17: .line 1551
      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 1553
      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 1558
            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 1567
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1568
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 11
         2: .line 1570
            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 1571
            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 1572
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 1574
      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 1576
            aload 1 /* targetList */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1572
      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 1579
            aload 1 /* targetList */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.set.MutableSet seenSoFar
        11: .line 1581
      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 1589
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1590
            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 1591
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.ArrayList result
         3: .line 1592
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 12
         4: .line 1594
            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 1595
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 1597
      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 1599
            aload 4 /* result */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1595
      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 1602
            goto 19
        12: .line 1605
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 1607
      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 1608
            aload 3 /* seenSoFar */
            aload 6 /* item */
            invokeinterface org.eclipse.collections.api.set.MutableSet.add:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 1610
            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 1605
      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 1614
      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 1622
            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 1631
            iload 0 /* newCurrentFilledIndex */
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 1633
      StackMap locals: int
      StackMap stack:
            aload 2 /* newElements */
            iload 4 /* i */
            aconst_null
            aastore
         3: .line 1631
            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 1637
            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 1638
            goto 12
         7: .line 1639
      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 1641
            new java.lang.RuntimeException
            dup
         9: .line 1642
            ldc "Something really bad happened on the way to pounding size into the ArrayList reflectively"
        10: .line 1643
            aload 4 /* e */
        11: .line 1641
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.IllegalAccessException e
        12: .line 1645
      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 1652
            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=4, locals=3, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // java.util.Comparator comparator
         0: .line 1660
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1661
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.canAccessInternalArray:(Ljava/util/ArrayList;)Z
            ifeq 4
         2: .line 1663
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.getInternalArray:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            iconst_0
            iload 2 /* size */
            aload 1 /* comparator */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         3: .line 1664
            goto 5
         4: .line 1667
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            aload 1 /* comparator */
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         5: .line 1669
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            areturn
        end local 2 // int size
        end local 1 // java.util.Comparator comparator
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        list  Ljava/util/ArrayList<TT;>;
            0    6     1  comparator  Ljava/util/Comparator<-TT;>;
            1    6     2        size  I
    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 1674
            aload 0 /* list */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.canAccessInternalArray:(Ljava/util/ArrayList;)Z
            ifeq 3
         1: .line 1676
            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 1677
            goto 4
         3: .line 1680
      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 1682
      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 1689
            iload 1 /* count */
            ifge 2
         1: .line 1691
            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 1693
      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 1701
            iload 1 /* count */
            ifge 2
         1: .line 1703
            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 1706
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1707
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 12
         4: .line 1709
            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 1711
            iload 3 /* size */
            iload 1 /* count */
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* end */
        start local 5 // int end
         6: .line 1712
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 1714
      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 1712
            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 1716
            aload 2 /* targetList */
            areturn
        end local 5 // int end
        end local 4 // java.lang.Object[] elements
        12: .line 1718
      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 1726
            iload 1 /* count */
            ifge 2
         1: .line 1728
            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 1730
      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 1738
            iload 1 /* count */
            ifge 2
         1: .line 1740
            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 1742
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1743
            iload 1 /* count */
            iload 3 /* size */
            if_icmplt 5
         4: .line 1745
            aload 2 /* targetList */
            areturn
         5: .line 1747
      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 1749
            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 1751
            iload 1 /* count */
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 1753
      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 1751
            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 1755
            aload 2 /* targetList */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1757
      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 1767
            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 1778
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1779
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1781
            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 1782
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 1784
      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 1782
            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 1786
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
         9: .line 1788
      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 1798
            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 1809
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1810
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         2: .line 1812
            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 1813
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 1815
      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 1816
            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 1818
            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 1816
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.lang.Iterable iterable
        10: .line 1813
            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 1821
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1823
      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 1833
            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/MutableMap;)Lorg/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.MutableMap<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/MutableMap;)Lorg/eclipse/collections/api/map/MutableMap;
    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.MutableMap target
         0: .line 1844
            aload 0 /* list */
            ifnonnull 2
         1: .line 1846
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot perform a groupByUniqueKey on null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1849
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 1850
            aload 0 /* list */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 13
         4: .line 1852
            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 1853
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 1855
      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 1856
            aload 2 /* target */
            aload 6 /* key */
            aload 4 /* elements */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.collections.api.map.MutableMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 10
         9: .line 1858
            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 1853
      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 1861
            aload 2 /* target */
            areturn
        end local 4 // java.lang.Object[] elements
        13: .line 1863
      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/MutableMap;)Lorg/eclipse/collections/api/map/MutableMap;
            areturn
        end local 3 // int size
        end local 2 // org.eclipse.collections.api.map.MutableMap 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/MutableMap<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 1871
            aload 1 /* ys */
            instanceof java.util.Collection
            ifne 1
            aload 1 /* ys */
            instanceof org.eclipse.collections.api.RichIterable
            ifeq 5
         1: .line 1873
      StackMap locals:
      StackMap stack:
            aload 0 /* xs */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* xSize */
        start local 2 // int xSize
         2: .line 1874
            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 1875
            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 1876
            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 1878
      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 1886
            aload 0 /* xs */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1887
            aload 0 /* xs */
            iload 3 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 10
         2: .line 1889
            aload 1 /* ys */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4 /* yIterator */
        start local 4 // java.util.Iterator yIterator
         3: .line 1890
            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 1891
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1893
      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 1891
            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 1895
      StackMap locals:
      StackMap stack:
            aload 2 /* targetCollection */
            areturn
        end local 5 // java.lang.Object[] elements
        end local 4 // java.util.Iterator yIterator
        10: .line 1897
      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 1905
            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 1913
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1914
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 9
         2: .line 1916
            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 1917
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1919
      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 1917
            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 1921
            aload 1 /* targetCollection */
            areturn
        end local 3 // java.lang.Object[] elements
         9: .line 1923
      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 1928
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1929
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 14
         2: .line 1931
            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 1932
            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 1933
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 12
         6: .line 1935
      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 1936
            aload 1 /* predicate */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1938
            aload 3 /* result */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1939
            goto 11
        10: .line 1942
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 6 // java.lang.Object element
        11: .line 1933
      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 1945
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.list.MutableList result
        14: .line 1947
      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 1952
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1953
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 19
         2: .line 1955
            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 1956
            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 1957
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 17
         6: .line 1959
      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 1960
            aload 1 /* predicate */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifne 16
         8: .line 1962
            aload 3 /* result */
            aload 6 /* element */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1963
            iload 5 /* i */
            iconst_1
            iadd
            istore 7 /* j */
        start local 7 // int j
        10: goto 14
        11: .line 1965
      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 1966
            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 1963
            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 1968
            aload 3 /* result */
            areturn
        end local 6 // java.lang.Object element
        16: .line 1957
      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 1971
            aload 3 /* result */
            areturn
        end local 4 // java.lang.Object[] elements
        end local 3 // org.eclipse.collections.api.list.MutableList result
        19: .line 1973
      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 1978
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1979
            aload 0 /* list */
            iload 2 /* size */
            invokestatic org.eclipse.collections.impl.utility.ArrayListIterate.isOptimizableArrayList:(Ljava/util/ArrayList;I)Z
            ifeq 22
         2: .line 1981
            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 1982
            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 1984
            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 1985
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 20
         7: .line 1987
      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 1988
            aload 1 /* predicate */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.block.predicate.Predicate.accept:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1990
            aload 4 /* selected */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1991
            goto 19
        11: .line 1994
      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 1995
            aload 8 /* rejected */
            aload 7 /* each */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1996
            iload 6 /* i */
            iconst_1
            iadd
            istore 9 /* j */
        start local 9 // int j
        14: goto 17
        15: .line 1998
      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 1996
            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 2000
            aload 3 /* result */
            areturn
        end local 8 // org.eclipse.collections.api.list.MutableList rejected
        end local 7 // java.lang.Object each
        19: .line 1985
      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 2003
            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 2005
      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 2010
            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 2015
            iload 1 /* newSize */
            bipush 100
            if_icmple 4
         1: .line 2016
            getstatic org.eclipse.collections.impl.utility.ArrayListIterate.ELEMENT_DATA_FIELD:Ljava/lang/reflect/Field;
            ifnull 4
         2: .line 2017
            aload 0 /* list */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/util/ArrayList;
            if_acmpne 4
         3: .line 2015
            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 2024
            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 2026
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 2028
            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 2038
            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 2039
            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/MutableMap;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 2040
            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 2049
            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 2050
            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/MutableMap;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 2051
            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"