public class org.apache.commons.collections4.ListUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.collections4.ListUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections4.ListUtils this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.collections4.ListUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections4/ListUtils;

  public static <T> java.util.List<T> emptyIfNull(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 61
            aload 0 /* list */
            ifnonnull 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* list */
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  final

  public static <T> java.util.List<T> defaultIfNull(java.util.List<T>, java.util.List<T>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.List defaultList
         0: .line 75
            aload 0 /* list */
            ifnonnull 1
            aload 1 /* defaultList */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* list */
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 1 // java.util.List defaultList
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         list  Ljava/util/List<TT;>;
            0    3     1  defaultList  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
             Name  Flags
      list         final
      defaultList  final

  public static <E> java.util.List<E> intersection(java.util.List<? extends E>, java.util.List<? extends E>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.List list1
        start local 1 // java.util.List list2
         0: .line 89
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 91
            aload 0 /* list1 */
            astore 3 /* smaller */
        start local 3 // java.util.List smaller
         2: .line 92
            aload 1 /* list2 */
            astore 4 /* larger */
        start local 4 // java.util.List larger
         3: .line 93
            aload 0 /* list1 */
            invokeinterface java.util.List.size:()I
            aload 1 /* list2 */
            invokeinterface java.util.List.size:()I
            if_icmple 6
         4: .line 94
            aload 1 /* list2 */
            astore 3 /* smaller */
         5: .line 95
            aload 0 /* list1 */
            astore 4 /* larger */
         6: .line 98
      StackMap locals: java.util.List java.util.List java.util.List
      StackMap stack:
            new java.util.HashSet
            dup
            aload 3 /* smaller */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 5 /* hashSet */
        start local 5 // java.util.HashSet hashSet
         7: .line 100
            aload 4 /* larger */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: java.util.List java.util.List java.util.List java.util.List java.util.List java.util.HashSet top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 6 /* e */
        start local 6 // java.lang.Object e
         9: .line 101
            aload 5 /* hashSet */
            aload 6 /* e */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 102
            aload 2 /* result */
            aload 6 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 103
            aload 5 /* hashSet */
            aload 6 /* e */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object e
        12: .line 100
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 106
            aload 2 /* result */
            areturn
        end local 5 // java.util.HashSet hashSet
        end local 4 // java.util.List larger
        end local 3 // java.util.List smaller
        end local 2 // java.util.List result
        end local 1 // java.util.List list2
        end local 0 // java.util.List list1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0    list1  Ljava/util/List<+TE;>;
            0   14     1    list2  Ljava/util/List<+TE;>;
            1   14     2   result  Ljava/util/List<TE;>;
            2   14     3  smaller  Ljava/util/List<+TE;>;
            3   14     4   larger  Ljava/util/List<+TE;>;
            7   14     5  hashSet  Ljava/util/HashSet<TE;>;
            9   12     6        e  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+TE;>;Ljava/util/List<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
       Name  Flags
      list1  final
      list2  final

  public static <E> java.util.List<E> subtract(java.util.List<E>, java.util.List<? extends E>);
    descriptor: (Ljava/util/List;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.List list1
        start local 1 // java.util.List list2
         0: .line 126
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 127
            new org.apache.commons.collections4.bag.HashBag
            dup
            aload 1 /* list2 */
            invokespecial org.apache.commons.collections4.bag.HashBag.<init>:(Ljava/util/Collection;)V
            astore 3 /* bag */
        start local 3 // org.apache.commons.collections4.bag.HashBag bag
         2: .line 128
            aload 0 /* list1 */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: java.util.List java.util.List java.util.ArrayList org.apache.commons.collections4.bag.HashBag top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* e */
        start local 4 // java.lang.Object e
         4: .line 129
            aload 3 /* bag */
            aload 4 /* e */
            iconst_1
            invokevirtual org.apache.commons.collections4.bag.HashBag.remove:(Ljava/lang/Object;I)Z
            ifne 6
         5: .line 130
            aload 2 /* result */
            aload 4 /* e */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object e
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 133
            aload 2 /* result */
            areturn
        end local 3 // org.apache.commons.collections4.bag.HashBag bag
        end local 2 // java.util.ArrayList result
        end local 1 // java.util.List list2
        end local 0 // java.util.List list1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0   list1  Ljava/util/List<TE;>;
            0    8     1   list2  Ljava/util/List<+TE;>;
            1    8     2  result  Ljava/util/ArrayList<TE;>;
            2    8     3     bag  Lorg/apache/commons/collections4/bag/HashBag<TE;>;
            4    6     4       e  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Ljava/util/List<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
       Name  Flags
      list1  final
      list2  final

  public static <E> java.util.List<E> sum(java.util.List<? extends E>, java.util.List<? extends E>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.List list1
        start local 1 // java.util.List list2
         0: .line 147
            aload 0 /* list1 */
            aload 1 /* list2 */
            invokestatic org.apache.commons.collections4.ListUtils.union:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            aload 0 /* list1 */
            aload 1 /* list2 */
            invokestatic org.apache.commons.collections4.ListUtils.intersection:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            invokestatic org.apache.commons.collections4.ListUtils.subtract:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            areturn
        end local 1 // java.util.List list2
        end local 0 // java.util.List list1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  list1  Ljava/util/List<+TE;>;
            0    1     1  list2  Ljava/util/List<+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+TE;>;Ljava/util/List<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
       Name  Flags
      list1  final
      list2  final

  public static <E> java.util.List<E> union(java.util.List<? extends E>, java.util.List<? extends E>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.List list1
        start local 1 // java.util.List list2
         0: .line 162
            new java.util.ArrayList
            dup
            aload 0 /* list1 */
            invokeinterface java.util.List.size:()I
            aload 1 /* list2 */
            invokeinterface java.util.List.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 163
            aload 2 /* result */
            aload 0 /* list1 */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 164
            aload 2 /* result */
            aload 1 /* list2 */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 165
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.util.List list2
        end local 0 // java.util.List list1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   list1  Ljava/util/List<+TE;>;
            0    4     1   list2  Ljava/util/List<+TE;>;
            1    4     2  result  Ljava/util/ArrayList<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+TE;>;Ljava/util/List<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
       Name  Flags
      list1  final
      list2  final

  public static <E> java.util.List<E> select(java.util.Collection<? extends E>, org.apache.commons.collections4.Predicate<? super E>);
    descriptor: (Ljava/util/Collection;Lorg/apache/commons/collections4/Predicate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.Collection inputCollection
        start local 1 // org.apache.commons.collections4.Predicate predicate
         0: .line 185
            aload 0 /* inputCollection */
            aload 1 /* predicate */
            new java.util.ArrayList
            dup
            aload 0 /* inputCollection */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.apache.commons.collections4.CollectionUtils.select:(Ljava/lang/Iterable;Lorg/apache/commons/collections4/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.List
            areturn
        end local 1 // org.apache.commons.collections4.Predicate predicate
        end local 0 // java.util.Collection inputCollection
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  inputCollection  Ljava/util/Collection<+TE;>;
            0    1     1        predicate  Lorg/apache/commons/collections4/Predicate<-TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<+TE;>;Lorg/apache/commons/collections4/Predicate<-TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
                 Name  Flags
      inputCollection  final
      predicate        final

  public static <E> java.util.List<E> selectRejected(java.util.Collection<? extends E>, org.apache.commons.collections4.Predicate<? super E>);
    descriptor: (Ljava/util/Collection;Lorg/apache/commons/collections4/Predicate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.Collection inputCollection
        start local 1 // org.apache.commons.collections4.Predicate predicate
         0: .line 205
            aload 0 /* inputCollection */
            aload 1 /* predicate */
            new java.util.ArrayList
            dup
            aload 0 /* inputCollection */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            invokestatic org.apache.commons.collections4.CollectionUtils.selectRejected:(Ljava/lang/Iterable;Lorg/apache/commons/collections4/Predicate;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast java.util.List
            areturn
        end local 1 // org.apache.commons.collections4.Predicate predicate
        end local 0 // java.util.Collection inputCollection
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  inputCollection  Ljava/util/Collection<+TE;>;
            0    1     1        predicate  Lorg/apache/commons/collections4/Predicate<-TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<+TE;>;Lorg/apache/commons/collections4/Predicate<-TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
                 Name  Flags
      inputCollection  final
      predicate        final

  public static boolean isEqualList(java.util.Collection<?>, java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.Collection list1
        start local 1 // java.util.Collection list2
         0: .line 238
            aload 0 /* list1 */
            aload 1 /* list2 */
            if_acmpne 2
         1: .line 239
            iconst_1
            ireturn
         2: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* list1 */
            ifnull 3
            aload 1 /* list2 */
            ifnull 3
            aload 0 /* list1 */
            invokeinterface java.util.Collection.size:()I
            aload 1 /* list2 */
            invokeinterface java.util.Collection.size:()I
            if_icmpeq 4
         3: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* list1 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* it1 */
        start local 2 // java.util.Iterator it1
         5: .line 246
            aload 1 /* list2 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* it2 */
        start local 3 // java.util.Iterator it2
         6: .line 247
            aconst_null
            astore 4 /* obj1 */
        start local 4 // java.lang.Object obj1
         7: .line 248
            aconst_null
            astore 5 /* obj2 */
        start local 5 // java.lang.Object obj2
         8: .line 250
            goto 14
         9: .line 251
      StackMap locals: java.util.Collection java.util.Collection java.util.Iterator java.util.Iterator java.lang.Object java.lang.Object
      StackMap stack:
            aload 2 /* it1 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* obj1 */
        10: .line 252
            aload 3 /* it2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* obj2 */
        11: .line 254
            aload 4 /* obj1 */
            ifnonnull 12
            aload 5 /* obj2 */
            ifnull 14
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 4 /* obj1 */
            aload 5 /* obj2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 255
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* it1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 15
            aload 3 /* it2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 259
      StackMap locals:
      StackMap stack:
            aload 2 /* it1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
            aload 3 /* it2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: ireturn
        end local 5 // java.lang.Object obj2
        end local 4 // java.lang.Object obj1
        end local 3 // java.util.Iterator it2
        end local 2 // java.util.Iterator it1
        end local 1 // java.util.Collection list2
        end local 0 // java.util.Collection list1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  list1  Ljava/util/Collection<*>;
            0   19     1  list2  Ljava/util/Collection<*>;
            5   19     2    it1  Ljava/util/Iterator<*>;
            6   19     3    it2  Ljava/util/Iterator<*>;
            7   19     4   obj1  Ljava/lang/Object;
            8   19     5   obj2  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;Ljava/util/Collection<*>;)Z
    MethodParameters:
       Name  Flags
      list1  final
      list2  final

  public static int hashCodeForList(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Collection list
         0: .line 275
            aload 0 /* list */
            ifnonnull 2
         1: .line 276
            iconst_0
            ireturn
         2: .line 278
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* hashCode */
        start local 1 // int hashCode
         3: .line 279
            aload 0 /* list */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         4: .line 281
            goto 9
         5: .line 282
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         6: .line 283
            bipush 31
            iload 1 /* hashCode */
            imul
            aload 3 /* obj */
            ifnonnull 7
            iconst_0
            goto 8
      StackMap locals: java.util.Collection int java.util.Iterator java.lang.Object
      StackMap stack: int
         7: aload 3 /* obj */
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals: java.util.Collection int java.util.Iterator java.lang.Object
      StackMap stack: int int
         8: iadd
            istore 1 /* hashCode */
        end local 3 // java.lang.Object obj
         9: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 285
            iload 1 /* hashCode */
            ireturn
        end local 2 // java.util.Iterator it
        end local 1 // int hashCode
        end local 0 // java.util.Collection list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      list  Ljava/util/Collection<*>;
            3   11     1  hashCode  I
            4   11     2        it  Ljava/util/Iterator<*>;
            6    9     3       obj  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;)I
    MethodParameters:
      Name  Flags
      list  final

  public static <E> java.util.List<E> retainAll(java.util.Collection<E>, java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.util.Collection retain
         0: .line 312
            new java.util.ArrayList
            dup
            aload 0 /* collection */
            invokeinterface java.util.Collection.size:()I
            aload 1 /* retain */
            invokeinterface java.util.Collection.size:()I
            invokestatic java.lang.Math.min:(II)I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 314
            aload 0 /* collection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.util.Collection java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         3: .line 315
            aload 1 /* retain */
            aload 3 /* obj */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 316
            aload 2 /* list */
            aload 3 /* obj */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object obj
         5: .line 314
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 319
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // java.util.Collection retain
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  collection  Ljava/util/Collection<TE;>;
            0    7     1      retain  Ljava/util/Collection<*>;
            1    7     2        list  Ljava/util/List<TE;>;
            3    5     3         obj  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;Ljava/util/Collection<*>;)Ljava/util/List<TE;>;
    MethodParameters:
            Name  Flags
      collection  final
      retain      final

  public static <E> java.util.List<E> removeAll(java.util.Collection<E>, java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.util.Collection remove
         0: .line 346
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 347
            aload 0 /* collection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.util.Collection java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         3: .line 348
            aload 1 /* remove */
            aload 3 /* obj */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 349
            aload 2 /* list */
            aload 3 /* obj */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object obj
         5: .line 347
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 352
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // java.util.Collection remove
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  collection  Ljava/util/Collection<TE;>;
            0    7     1      remove  Ljava/util/Collection<*>;
            1    7     2        list  Ljava/util/List<TE;>;
            3    5     3         obj  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;Ljava/util/Collection<*>;)Ljava/util/List<TE;>;
    MethodParameters:
            Name  Flags
      collection  final
      remove      final

  public static <E> java.util.List<E> synchronizedList(java.util.List<E>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 380
            aload 0 /* list */
            invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/List<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      list  final

  public static <E> java.util.List<E> unmodifiableList(java.util.List<? extends E>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 394
            aload 0 /* list */
            invokestatic org.apache.commons.collections4.list.UnmodifiableList.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/List<+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      list  final

  public static <E> java.util.List<E> predicatedList(java.util.List<E>, org.apache.commons.collections4.Predicate<E>);
    descriptor: (Ljava/util/List;Lorg/apache/commons/collections4/Predicate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // org.apache.commons.collections4.Predicate predicate
         0: .line 412
            aload 0 /* list */
            aload 1 /* predicate */
            invokestatic org.apache.commons.collections4.list.PredicatedList.predicatedList:(Ljava/util/List;Lorg/apache/commons/collections4/Predicate;)Lorg/apache/commons/collections4/list/PredicatedList;
            areturn
        end local 1 // org.apache.commons.collections4.Predicate predicate
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/List<TE;>;
            0    1     1  predicate  Lorg/apache/commons/collections4/Predicate<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Predicate<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
           Name  Flags
      list       final
      predicate  final

  public static <E> java.util.List<E> transformedList(java.util.List<E>, org.apache.commons.collections4.Transformer<? super E, ? extends E>);
    descriptor: (Ljava/util/List;Lorg/apache/commons/collections4/Transformer;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // org.apache.commons.collections4.Transformer transformer
         0: .line 437
            aload 0 /* list */
            aload 1 /* transformer */
            invokestatic org.apache.commons.collections4.list.TransformedList.transformingList:(Ljava/util/List;Lorg/apache/commons/collections4/Transformer;)Lorg/apache/commons/collections4/list/TransformedList;
            areturn
        end local 1 // org.apache.commons.collections4.Transformer transformer
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         list  Ljava/util/List<TE;>;
            0    1     1  transformer  Lorg/apache/commons/collections4/Transformer<-TE;+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Transformer<-TE;+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
             Name  Flags
      list         final
      transformer  final

  public static <E> java.util.List<E> lazyList(java.util.List<E>, org.apache.commons.collections4.Factory<? extends E>);
    descriptor: (Ljava/util/List;Lorg/apache/commons/collections4/Factory;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // org.apache.commons.collections4.Factory factory
         0: .line 471
            aload 0 /* list */
            aload 1 /* factory */
            invokestatic org.apache.commons.collections4.list.LazyList.lazyList:(Ljava/util/List;Lorg/apache/commons/collections4/Factory;)Lorg/apache/commons/collections4/list/LazyList;
            areturn
        end local 1 // org.apache.commons.collections4.Factory factory
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     list  Ljava/util/List<TE;>;
            0    1     1  factory  Lorg/apache/commons/collections4/Factory<+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Factory<+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
         Name  Flags
      list     final
      factory  final

  public static <E> java.util.List<E> lazyList(java.util.List<E>, org.apache.commons.collections4.Transformer<java.lang.Integer, ? extends E>);
    descriptor: (Ljava/util/List;Lorg/apache/commons/collections4/Transformer;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // org.apache.commons.collections4.Transformer transformer
         0: .line 502
            aload 0 /* list */
            aload 1 /* transformer */
            invokestatic org.apache.commons.collections4.list.LazyList.lazyList:(Ljava/util/List;Lorg/apache/commons/collections4/Transformer;)Lorg/apache/commons/collections4/list/LazyList;
            areturn
        end local 1 // org.apache.commons.collections4.Transformer transformer
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         list  Ljava/util/List<TE;>;
            0    1     1  transformer  Lorg/apache/commons/collections4/Transformer<Ljava/lang/Integer;+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Transformer<Ljava/lang/Integer;+TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
             Name  Flags
      list         final
      transformer  final

  public static <E> java.util.List<E> fixedSizeList(java.util.List<E>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 517
            aload 0 /* list */
            invokestatic org.apache.commons.collections4.list.FixedSizeList.fixedSizeList:(Ljava/util/List;)Lorg/apache/commons/collections4/list/FixedSizeList;
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/List<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      list  final

  public static <E> int indexOf(java.util.List<E>, org.apache.commons.collections4.Predicate<E>);
    descriptor: (Ljava/util/List;Lorg/apache/commons/collections4/Predicate;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List list
        start local 1 // org.apache.commons.collections4.Predicate predicate
         0: .line 533
            aload 0 /* list */
            ifnull 8
            aload 1 /* predicate */
            ifnull 8
         1: .line 534
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 535
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 3 /* item */
        start local 3 // java.lang.Object item
         4: .line 536
            aload 1 /* predicate */
            aload 3 /* item */
            invokeinterface org.apache.commons.collections4.Predicate.evaluate:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 537
            iload 2 /* i */
            ireturn
        end local 3 // java.lang.Object item
         6: .line 534
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         8: .line 541
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // org.apache.commons.collections4.Predicate predicate
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       list  Ljava/util/List<TE;>;
            0    9     1  predicate  Lorg/apache/commons/collections4/Predicate<TE;>;
            2    8     2          i  I
            4    6     3       item  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Predicate<TE;>;)I
    MethodParameters:
           Name  Flags
      list       final
      predicate  final

  public static <E> java.util.List<E> longestCommonSubsequence(java.util.List<E>, java.util.List<E>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.List a
        start local 1 // java.util.List b
         0: .line 556
            aload 0 /* a */
            aload 1 /* b */
            invokestatic org.apache.commons.collections4.functors.DefaultEquator.defaultEquator:()Lorg/apache/commons/collections4/functors/DefaultEquator;
            invokestatic org.apache.commons.collections4.ListUtils.longestCommonSubsequence:(Ljava/util/List;Ljava/util/List;Lorg/apache/commons/collections4/Equator;)Ljava/util/List;
            areturn
        end local 1 // java.util.List b
        end local 0 // java.util.List a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/util/List<TE;>;
            0    1     1     b  Ljava/util/List<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Ljava/util/List<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      a     final
      b     final

  public static <E> java.util.List<E> longestCommonSubsequence(java.util.List<E>, java.util.List<E>, org.apache.commons.collections4.Equator<? super E>);
    descriptor: (Ljava/util/List;Ljava/util/List;Lorg/apache/commons/collections4/Equator;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.util.List a
        start local 1 // java.util.List b
        start local 2 // org.apache.commons.collections4.Equator equator
         0: .line 572
            aload 0 /* a */
            ifnull 1
            aload 1 /* b */
            ifnonnull 2
         1: .line 573
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            ldc "List must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 575
      StackMap locals:
      StackMap stack:
            aload 2 /* equator */
            ifnonnull 4
         3: .line 576
            new java.lang.NullPointerException
            dup
            ldc "Equator must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 579
      StackMap locals:
      StackMap stack:
            new org.apache.commons.collections4.sequence.SequencesComparator
            dup
            aload 0 /* a */
            aload 1 /* b */
            aload 2 /* equator */
            invokespecial org.apache.commons.collections4.sequence.SequencesComparator.<init>:(Ljava/util/List;Ljava/util/List;Lorg/apache/commons/collections4/Equator;)V
            astore 3 /* comparator */
        start local 3 // org.apache.commons.collections4.sequence.SequencesComparator comparator
         5: .line 580
            aload 3 /* comparator */
            invokevirtual org.apache.commons.collections4.sequence.SequencesComparator.getScript:()Lorg/apache/commons/collections4/sequence/EditScript;
            astore 4 /* script */
        start local 4 // org.apache.commons.collections4.sequence.EditScript script
         6: .line 581
            new org.apache.commons.collections4.ListUtils$LcsVisitor
            dup
            invokespecial org.apache.commons.collections4.ListUtils$LcsVisitor.<init>:()V
            astore 5 /* visitor */
        start local 5 // org.apache.commons.collections4.ListUtils$LcsVisitor visitor
         7: .line 582
            aload 4 /* script */
            aload 5 /* visitor */
            invokevirtual org.apache.commons.collections4.sequence.EditScript.visit:(Lorg/apache/commons/collections4/sequence/CommandVisitor;)V
         8: .line 583
            aload 5 /* visitor */
            invokevirtual org.apache.commons.collections4.ListUtils$LcsVisitor.getSubSequence:()Ljava/util/List;
            areturn
        end local 5 // org.apache.commons.collections4.ListUtils$LcsVisitor visitor
        end local 4 // org.apache.commons.collections4.sequence.EditScript script
        end local 3 // org.apache.commons.collections4.sequence.SequencesComparator comparator
        end local 2 // org.apache.commons.collections4.Equator equator
        end local 1 // java.util.List b
        end local 0 // java.util.List a
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0           a  Ljava/util/List<TE;>;
            0    9     1           b  Ljava/util/List<TE;>;
            0    9     2     equator  Lorg/apache/commons/collections4/Equator<-TE;>;
            5    9     3  comparator  Lorg/apache/commons/collections4/sequence/SequencesComparator<TE;>;
            6    9     4      script  Lorg/apache/commons/collections4/sequence/EditScript<TE;>;
            7    9     5     visitor  Lorg/apache/commons/collections4/ListUtils$LcsVisitor<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Ljava/util/List<TE;>;Lorg/apache/commons/collections4/Equator<-TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
         Name  Flags
      a        final
      b        final
      equator  final

  public static java.lang.String longestCommonSubsequence(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.CharSequence a
        start local 1 // java.lang.CharSequence b
         0: .line 599
            aload 0 /* a */
            ifnull 1
            aload 1 /* b */
            ifnonnull 2
         1: .line 600
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            ldc "CharSequence must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 602
      StackMap locals:
      StackMap stack:
            new org.apache.commons.collections4.ListUtils$CharSequenceAsList
            dup
            aload 0 /* a */
            invokespecial org.apache.commons.collections4.ListUtils$CharSequenceAsList.<init>:(Ljava/lang/CharSequence;)V
            new org.apache.commons.collections4.ListUtils$CharSequenceAsList
            dup
            aload 1 /* b */
            invokespecial org.apache.commons.collections4.ListUtils$CharSequenceAsList.<init>:(Ljava/lang/CharSequence;)V
            invokestatic org.apache.commons.collections4.ListUtils.longestCommonSubsequence:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            astore 2 /* lcs */
        start local 2 // java.util.List lcs
         3: .line 603
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 604
            aload 2 /* lcs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: java.lang.CharSequence java.lang.CharSequence java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Character
            astore 4 /* ch */
        start local 4 // java.lang.Character ch
         6: .line 605
            aload 3 /* sb */
            aload 4 /* ch */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.Character ch
         7: .line 604
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 607
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.util.List lcs
        end local 1 // java.lang.CharSequence b
        end local 0 // java.lang.CharSequence a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     a  Ljava/lang/CharSequence;
            0    9     1     b  Ljava/lang/CharSequence;
            3    9     2   lcs  Ljava/util/List<Ljava/lang/Character;>;
            4    9     3    sb  Ljava/lang/StringBuilder;
            6    7     4    ch  Ljava/lang/Character;
    MethodParameters:
      Name  Flags
      a     final
      b     final

  public static <T> java.util.List<java.util.List<T>> partition(java.util.List<T>, int);
    descriptor: (Ljava/util/List;I)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // int size
         0: .line 683
            aload 0 /* list */
            ifnonnull 2
         1: .line 684
            new java.lang.NullPointerException
            dup
            ldc "List must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 686
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            ifgt 4
         3: .line 687
            new java.lang.IllegalArgumentException
            dup
            ldc "Size must be greater than 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 689
      StackMap locals:
      StackMap stack:
            new org.apache.commons.collections4.ListUtils$Partition
            dup
            aload 0 /* list */
            iload 1 /* size */
            invokespecial org.apache.commons.collections4.ListUtils$Partition.<init>:(Ljava/util/List;I)V
            areturn
        end local 1 // int size
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  list  Ljava/util/List<TT;>;
            0    5     1  size  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;I)Ljava/util/List<Ljava/util/List<TT;>;>;
    MethodParameters:
      Name  Flags
      list  final
      size  final
}
SourceFile: "ListUtils.java"
NestMembers:
  org.apache.commons.collections4.ListUtils$CharSequenceAsList  org.apache.commons.collections4.ListUtils$LcsVisitor  org.apache.commons.collections4.ListUtils$Partition
InnerClasses:
  private final CharSequenceAsList = org.apache.commons.collections4.ListUtils$CharSequenceAsList of org.apache.commons.collections4.ListUtils
  private final LcsVisitor = org.apache.commons.collections4.ListUtils$LcsVisitor of org.apache.commons.collections4.ListUtils
  private Partition = org.apache.commons.collections4.ListUtils$Partition of org.apache.commons.collections4.ListUtils