public class java.util.Collections
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.Collections
  super_class: java.lang.Object
{
  private static final int BINARYSEARCH_THRESHOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

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

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

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

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

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

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

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

  private static java.util.Random r;
    descriptor: Ljava/util/Random;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final java.util.Set EMPTY_SET;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.List EMPTY_LIST;
    descriptor: Ljava/util/List;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.Map EMPTY_MAP;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 4281
            new java.util.Collections$EmptySet
            dup
            invokespecial java.util.Collections$EmptySet.<init>:()V
            putstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
         1: .line 4399
            new java.util.Collections$EmptyList
            dup
            invokespecial java.util.Collections$EmptyList.<init>:()V
            putstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
         2: .line 4500
            new java.util.Collections$EmptyMap
            dup
            invokespecial java.util.Collections$EmptyMap.<init>:()V
            putstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Collections this
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            return
        end local 0 // java.util.Collections this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/Collections;

  public static <T extends java.lang.Comparable<? super T>> void sort(java.util.List<T>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 143
            aload 0 /* list */
            aconst_null
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         1: .line 144
            return
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  list  Ljava/util/List<TT;>;
    Signature: <T::Ljava/lang/Comparable<-TT;>;>(Ljava/util/List<TT;>;)V
    MethodParameters:
      Name  Flags
      list  

  public static <T> void sort(java.util.List<T>, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/List;Ljava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.Comparator c
         0: .line 177
            aload 0 /* list */
            aload 1 /* c */
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         1: .line 178
            return
        end local 1 // java.util.Comparator c
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  list  Ljava/util/List<TT;>;
            0    2     1     c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      list  
      c     

  public static <T> int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object key
         0: .line 214
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifne 1
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            sipush 5000
            if_icmpge 2
         1: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* key */
            invokestatic java.util.Collections.indexedBinarySearch:(Ljava/util/List;Ljava/lang/Object;)I
            ireturn
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* key */
            invokestatic java.util.Collections.iteratorBinarySearch:(Ljava/util/List;Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;
            0    3     1   key  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;TT;)I
    MethodParameters:
      Name  Flags
      list  
      key   

  private static <T> int indexedBinarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object key
         0: .line 222
            iconst_0
            istore 2 /* low */
        start local 2 // int low
         1: .line 223
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 3 /* high */
        start local 3 // int high
         2: .line 225
            goto 11
         3: .line 226
      StackMap locals: int int
      StackMap stack:
            iload 2 /* low */
            iload 3 /* high */
            iadd
            iconst_1
            iushr
            istore 4 /* mid */
        start local 4 // int mid
         4: .line 227
            aload 0 /* list */
            iload 4 /* mid */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 5 /* midVal */
        start local 5 // java.lang.Comparable midVal
         5: .line 228
            aload 5 /* midVal */
            aload 1 /* key */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 6 /* cmp */
        start local 6 // int cmp
         6: .line 230
            iload 6 /* cmp */
            ifge 8
         7: .line 231
            iload 4 /* mid */
            iconst_1
            iadd
            istore 2 /* low */
            goto 11
         8: .line 232
      StackMap locals: int java.lang.Comparable int
      StackMap stack:
            iload 6 /* cmp */
            ifle 10
         9: .line 233
            iload 4 /* mid */
            iconst_1
            isub
            istore 3 /* high */
            goto 11
        10: .line 235
      StackMap locals:
      StackMap stack:
            iload 4 /* mid */
            ireturn
        end local 6 // int cmp
        end local 5 // java.lang.Comparable midVal
        end local 4 // int mid
        11: .line 225
      StackMap locals:
      StackMap stack:
            iload 2 /* low */
            iload 3 /* high */
            if_icmple 3
        12: .line 237
            iload 2 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 3 // int high
        end local 2 // int low
        end local 1 // java.lang.Object key
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    list  Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;
            0   13     1     key  TT;
            1   13     2     low  I
            2   13     3    high  I
            4   11     4     mid  I
            5   11     5  midVal  Ljava/lang/Comparable<-TT;>;
            6   11     6     cmp  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;TT;)I
    MethodParameters:
      Name  Flags
      list  
      key   

  private static <T> int iteratorBinarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object key
         0: .line 243
            iconst_0
            istore 2 /* low */
        start local 2 // int low
         1: .line 244
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 3 /* high */
        start local 3 // int high
         2: .line 245
            aload 0 /* list */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 4 /* i */
        start local 4 // java.util.ListIterator i
         3: .line 247
            goto 12
         4: .line 248
      StackMap locals: int int java.util.ListIterator
      StackMap stack:
            iload 2 /* low */
            iload 3 /* high */
            iadd
            iconst_1
            iushr
            istore 5 /* mid */
        start local 5 // int mid
         5: .line 249
            aload 4 /* i */
            iload 5 /* mid */
            invokestatic java.util.Collections.get:(Ljava/util/ListIterator;I)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 6 /* midVal */
        start local 6 // java.lang.Comparable midVal
         6: .line 250
            aload 6 /* midVal */
            aload 1 /* key */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 7 /* cmp */
        start local 7 // int cmp
         7: .line 252
            iload 7 /* cmp */
            ifge 9
         8: .line 253
            iload 5 /* mid */
            iconst_1
            iadd
            istore 2 /* low */
            goto 12
         9: .line 254
      StackMap locals: int java.lang.Comparable int
      StackMap stack:
            iload 7 /* cmp */
            ifle 11
        10: .line 255
            iload 5 /* mid */
            iconst_1
            isub
            istore 3 /* high */
            goto 12
        11: .line 257
      StackMap locals:
      StackMap stack:
            iload 5 /* mid */
            ireturn
        end local 7 // int cmp
        end local 6 // java.lang.Comparable midVal
        end local 5 // int mid
        12: .line 247
      StackMap locals:
      StackMap stack:
            iload 2 /* low */
            iload 3 /* high */
            if_icmple 4
        13: .line 259
            iload 2 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 4 // java.util.ListIterator i
        end local 3 // int high
        end local 2 // int low
        end local 1 // java.lang.Object key
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    list  Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;
            0   14     1     key  TT;
            1   14     2     low  I
            2   14     3    high  I
            3   14     4       i  Ljava/util/ListIterator<+Ljava/lang/Comparable<-TT;>;>;
            5   12     5     mid  I
            6   12     6  midVal  Ljava/lang/Comparable<-TT;>;
            7   12     7     cmp  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+Ljava/lang/Comparable<-TT;>;>;TT;)I
    MethodParameters:
      Name  Flags
      list  
      key   

  private static <T> T get(java.util.ListIterator<? extends T>, );
    descriptor: (Ljava/util/ListIterator;I)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.ListIterator i
        start local 1 // int index
         0: .line 267
            aconst_null
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         1: .line 268
            aload 0 /* i */
            invokeinterface java.util.ListIterator.nextIndex:()I
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 269
            iload 3 /* pos */
            iload 1 /* index */
            if_icmpgt 7
         3: .line 271
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* i */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            astore 2 /* obj */
         4: .line 272
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            iload 1 /* index */
         5: .line 270
            if_icmplt 3
         6: .line 273
            goto 10
         7: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* i */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            astore 2 /* obj */
         8: .line 276
            iinc 3 /* pos */ -1
            iload 3 /* pos */
            iload 1 /* index */
         9: .line 274
            if_icmpgt 7
        10: .line 278
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            areturn
        end local 3 // int pos
        end local 2 // java.lang.Object obj
        end local 1 // int index
        end local 0 // java.util.ListIterator i
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0      i  Ljava/util/ListIterator<+TT;>;
            0   11     1  index  I
            1   11     2    obj  TT;
            2   11     3    pos  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ListIterator<+TT;>;I)TT;
    MethodParameters:
       Name  Flags
      i      
      index  

  public static <T> int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.List list
        start local 1 // java.lang.Object key
        start local 2 // java.util.Comparator c
         0: .line 318
            aload 2 /* c */
            ifnonnull 2
         1: .line 319
            aload 0 /* list */
            aload 1 /* key */
            invokestatic java.util.Collections.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I
            ireturn
         2: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifne 3
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            sipush 5000
            if_icmpge 4
         3: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* key */
            aload 2 /* c */
            invokestatic java.util.Collections.indexedBinarySearch:(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
            ireturn
         4: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 1 /* key */
            aload 2 /* c */
            invokestatic java.util.Collections.iteratorBinarySearch:(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
            ireturn
        end local 2 // java.util.Comparator c
        end local 1 // java.lang.Object key
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  list  Ljava/util/List<+TT;>;
            0    5     1   key  TT;
            0    5     2     c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+TT;>;TT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
      Name  Flags
      list  
      key   
      c     

  private static <T> int indexedBinarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.util.List l
        start local 1 // java.lang.Object key
        start local 2 // java.util.Comparator c
         0: .line 328
            iconst_0
            istore 3 /* low */
        start local 3 // int low
         1: .line 329
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 4 /* high */
        start local 4 // int high
         2: .line 331
            goto 11
         3: .line 332
      StackMap locals: int int
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            iadd
            iconst_1
            iushr
            istore 5 /* mid */
        start local 5 // int mid
         4: .line 333
            aload 0 /* l */
            iload 5 /* mid */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 6 /* midVal */
        start local 6 // java.lang.Object midVal
         5: .line 334
            aload 2 /* c */
            aload 6 /* midVal */
            aload 1 /* key */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 7 /* cmp */
        start local 7 // int cmp
         6: .line 336
            iload 7 /* cmp */
            ifge 8
         7: .line 337
            iload 5 /* mid */
            iconst_1
            iadd
            istore 3 /* low */
            goto 11
         8: .line 338
      StackMap locals: int java.lang.Object int
      StackMap stack:
            iload 7 /* cmp */
            ifle 10
         9: .line 339
            iload 5 /* mid */
            iconst_1
            isub
            istore 4 /* high */
            goto 11
        10: .line 341
      StackMap locals:
      StackMap stack:
            iload 5 /* mid */
            ireturn
        end local 7 // int cmp
        end local 6 // java.lang.Object midVal
        end local 5 // int mid
        11: .line 331
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            if_icmple 3
        12: .line 343
            iload 3 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 4 // int high
        end local 3 // int low
        end local 2 // java.util.Comparator c
        end local 1 // java.lang.Object key
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0       l  Ljava/util/List<+TT;>;
            0   13     1     key  TT;
            0   13     2       c  Ljava/util/Comparator<-TT;>;
            1   13     3     low  I
            2   13     4    high  I
            4   11     5     mid  I
            5   11     6  midVal  TT;
            6   11     7     cmp  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+TT;>;TT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
      Name  Flags
      l     
      key   
      c     

  private static <T> int iteratorBinarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.util.List l
        start local 1 // java.lang.Object key
        start local 2 // java.util.Comparator c
         0: .line 347
            iconst_0
            istore 3 /* low */
        start local 3 // int low
         1: .line 348
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 4 /* high */
        start local 4 // int high
         2: .line 349
            aload 0 /* l */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 5 /* i */
        start local 5 // java.util.ListIterator i
         3: .line 351
            goto 12
         4: .line 352
      StackMap locals: int int java.util.ListIterator
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         5: .line 353
            aload 5 /* i */
            iload 6 /* mid */
            invokestatic java.util.Collections.get:(Ljava/util/ListIterator;I)Ljava/lang/Object;
            astore 7 /* midVal */
        start local 7 // java.lang.Object midVal
         6: .line 354
            aload 2 /* c */
            aload 7 /* midVal */
            aload 1 /* key */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 8 /* cmp */
        start local 8 // int cmp
         7: .line 356
            iload 8 /* cmp */
            ifge 9
         8: .line 357
            iload 6 /* mid */
            iconst_1
            iadd
            istore 3 /* low */
            goto 12
         9: .line 358
      StackMap locals: int java.lang.Object int
      StackMap stack:
            iload 8 /* cmp */
            ifle 11
        10: .line 359
            iload 6 /* mid */
            iconst_1
            isub
            istore 4 /* high */
            goto 12
        11: .line 361
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 8 // int cmp
        end local 7 // java.lang.Object midVal
        end local 6 // int mid
        12: .line 351
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            if_icmple 4
        13: .line 363
            iload 3 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // java.util.ListIterator i
        end local 4 // int high
        end local 3 // int low
        end local 2 // java.util.Comparator c
        end local 1 // java.lang.Object key
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       l  Ljava/util/List<+TT;>;
            0   14     1     key  TT;
            0   14     2       c  Ljava/util/Comparator<-TT;>;
            1   14     3     low  I
            2   14     4    high  I
            3   14     5       i  Ljava/util/ListIterator<+TT;>;
            5   12     6     mid  I
            6   12     7  midVal  TT;
            7   12     8     cmp  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+TT;>;TT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
      Name  Flags
      l     
      key   
      c     

  public static void reverse(java.util.List<?>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.util.List list
         0: .line 377
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 378
            iload 1 /* size */
            bipush 18
            if_icmplt 2
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 10
         2: .line 379
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: iload 1 /* size */
            iconst_1
            ishr
            istore 3 /* mid */
        start local 3 // int mid
         4: iload 1 /* size */
            iconst_1
            isub
            istore 4 /* j */
        start local 4 // int j
         5: goto 8
         6: .line 380
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* list */
            iload 2 /* i */
            iload 4 /* j */
            invokestatic java.util.Collections.swap:(Ljava/util/List;II)V
         7: .line 379
            iinc 2 /* i */ 1
            iinc 4 /* j */ -1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            iload 3 /* mid */
            if_icmplt 6
        end local 4 // int j
        end local 3 // int mid
        end local 2 // int i
         9: .line 381
            goto 20
        10: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 2 /* fwd */
        start local 2 // java.util.ListIterator fwd
        11: .line 386
            aload 0 /* list */
            iload 1 /* size */
            invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
            astore 3 /* rev */
        start local 3 // java.util.ListIterator rev
        12: .line 387
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: aload 0 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            ishr
            istore 5 /* mid */
        start local 5 // int mid
        14: goto 19
        15: .line 388
      StackMap locals: java.util.List int java.util.ListIterator java.util.ListIterator int int
      StackMap stack:
            aload 2 /* fwd */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            astore 6 /* tmp */
        start local 6 // java.lang.Object tmp
        16: .line 389
            aload 2 /* fwd */
            aload 3 /* rev */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        17: .line 390
            aload 3 /* rev */
            aload 6 /* tmp */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        end local 6 // java.lang.Object tmp
        18: .line 387
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 5 /* mid */
            if_icmplt 15
        end local 5 // int mid
        end local 4 // int i
        end local 3 // java.util.ListIterator rev
        end local 2 // java.util.ListIterator fwd
        20: .line 393
      StackMap locals: java.util.List int
      StackMap stack:
            return
        end local 1 // int size
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  list  Ljava/util/List<*>;
            1   21     1  size  I
            3    9     2     i  I
            4    9     3   mid  I
            5    9     4     j  I
           11   20     2   fwd  Ljava/util/ListIterator;
           12   20     3   rev  Ljava/util/ListIterator;
           13   20     4     i  I
           14   20     5   mid  I
           16   18     6   tmp  Ljava/lang/Object;
    Signature: (Ljava/util/List<*>;)V
    MethodParameters:
      Name  Flags
      list  

  public static void shuffle(java.util.List<?>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.List list
         0: .line 424
            getstatic java.util.Collections.r:Ljava/util/Random;
            astore 1 /* rnd */
        start local 1 // java.util.Random rnd
         1: .line 425
            aload 1 /* rnd */
            ifnonnull 3
         2: .line 426
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            dup
            astore 1 /* rnd */
            putstatic java.util.Collections.r:Ljava/util/Random;
         3: .line 427
      StackMap locals: java.util.Random
      StackMap stack:
            aload 0 /* list */
            aload 1 /* rnd */
            invokestatic java.util.Collections.shuffle:(Ljava/util/List;Ljava/util/Random;)V
         4: .line 428
            return
        end local 1 // java.util.Random rnd
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  list  Ljava/util/List<*>;
            1    5     1   rnd  Ljava/util/Random;
    Signature: (Ljava/util/List<*>;)V
    MethodParameters:
      Name  Flags
      list  

  public static void shuffle(java.util.List<?>, java.util.Random);
    descriptor: (Ljava/util/List;Ljava/util/Random;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.Random rnd
         0: .line 457
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 458
            iload 2 /* size */
            iconst_5
            if_icmplt 2
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 8
         2: .line 459
      StackMap locals: int
      StackMap stack:
            iload 2 /* size */
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 460
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* i */
            iconst_1
            isub
            aload 1 /* rnd */
            iload 3 /* i */
            invokevirtual java.util.Random.nextInt:(I)I
            invokestatic java.util.Collections.swap:(Ljava/util/List;II)V
         5: .line 459
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iconst_1
            if_icmpgt 4
        end local 3 // int i
         7: .line 461
            goto 21
         8: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            astore 3 /* arr */
        start local 3 // java.lang.Object[] arr
         9: .line 465
            iload 2 /* size */
            istore 4 /* i */
        start local 4 // int i
        10: goto 13
        11: .line 466
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* arr */
            iload 4 /* i */
            iconst_1
            isub
            aload 1 /* rnd */
            iload 4 /* i */
            invokevirtual java.util.Random.nextInt:(I)I
            invokestatic java.util.Collections.swap:([Ljava/lang/Object;II)V
        12: .line 465
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iconst_1
            if_icmpgt 11
        end local 4 // int i
        14: .line 472
            aload 0 /* list */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 4 /* it */
        start local 4 // java.util.ListIterator it
        15: .line 473
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 20
        17: .line 474
      StackMap locals: java.util.List java.util.Random int java.lang.Object[] java.util.ListIterator int
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
        18: .line 475
            aload 4 /* it */
            aload 3 /* arr */
            iload 5 /* i */
            aaload
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        19: .line 473
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 3 /* arr */
            arraylength
            if_icmplt 17
        end local 5 // int i
        end local 4 // java.util.ListIterator it
        end local 3 // java.lang.Object[] arr
        21: .line 478
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // java.util.Random rnd
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  list  Ljava/util/List<*>;
            0   22     1   rnd  Ljava/util/Random;
            1   22     2  size  I
            3    7     3     i  I
            9   21     3   arr  [Ljava/lang/Object;
           10   14     4     i  I
           15   21     4    it  Ljava/util/ListIterator;
           16   21     5     i  I
    Signature: (Ljava/util/List<*>;Ljava/util/Random;)V
    MethodParameters:
      Name  Flags
      list  
      rnd   

  public static void swap(java.util.List<?>, int, );
    descriptor: (Ljava/util/List;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.List list
        start local 1 // int i
        start local 2 // int j
         0: .line 498
            aload 0 /* list */
            astore 3 /* l */
        start local 3 // java.util.List l
         1: .line 499
            aload 3 /* l */
            iload 1 /* i */
            aload 3 /* l */
            iload 2 /* j */
            aload 3 /* l */
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 500
            return
        end local 3 // java.util.List l
        end local 2 // int j
        end local 1 // int i
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  Ljava/util/List<*>;
            0    3     1     i  I
            0    3     2     j  I
            1    3     3     l  Ljava/util/List;
    Signature: (Ljava/util/List<*>;II)V
    MethodParameters:
      Name  Flags
      list  
      i     
      j     

  private static void swap(java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object[] arr
        start local 1 // int i
        start local 2 // int j
         0: .line 506
            aload 0 /* arr */
            iload 1 /* i */
            aaload
            astore 3 /* tmp */
        start local 3 // java.lang.Object tmp
         1: .line 507
            aload 0 /* arr */
            iload 1 /* i */
            aload 0 /* arr */
            iload 2 /* j */
            aaload
            aastore
         2: .line 508
            aload 0 /* arr */
            iload 2 /* j */
            aload 3 /* tmp */
            aastore
         3: .line 509
            return
        end local 3 // java.lang.Object tmp
        end local 2 // int j
        end local 1 // int i
        end local 0 // java.lang.Object[] arr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   arr  [Ljava/lang/Object;
            0    4     1     i  I
            0    4     2     j  I
            1    4     3   tmp  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      arr   
      i     
      j     

  public static <T> void fill(java.util.List<? super T>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object obj
         0: .line 524
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 526
            iload 2 /* size */
            bipush 25
            if_icmplt 2
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 8
         2: .line 527
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 528
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* i */
            aload 1 /* obj */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 527
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 3 // int i
         7: .line 529
            goto 15
         8: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* itr */
        start local 3 // java.util.ListIterator itr
         9: .line 531
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 14
        11: .line 532
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
        12: .line 533
            aload 3 /* itr */
            aload 1 /* obj */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        13: .line 531
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 11
        end local 4 // int i
        end local 3 // java.util.ListIterator itr
        15: .line 536
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // java.lang.Object obj
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  list  Ljava/util/List<-TT;>;
            0   16     1   obj  TT;
            1   16     2  size  I
            3    7     3     i  I
            9   15     3   itr  Ljava/util/ListIterator<-TT;>;
           10   15     4     i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<-TT;>;TT;)V
    MethodParameters:
      Name  Flags
      list  
      obj   

  public static <T> void copy(java.util.List<? super T>, java.util.List<? extends T>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.util.List dest
        start local 1 // java.util.List src
         0: .line 556
            aload 1 /* src */
            invokeinterface java.util.List.size:()I
            istore 2 /* srcSize */
        start local 2 // int srcSize
         1: .line 557
            iload 2 /* srcSize */
            aload 0 /* dest */
            invokeinterface java.util.List.size:()I
            if_icmple 3
         2: .line 558
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "Source does not fit in dest"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 560
      StackMap locals: int
      StackMap stack:
            iload 2 /* srcSize */
            bipush 10
            if_icmplt 5
         4: .line 561
            aload 1 /* src */
            instanceof java.util.RandomAccess
            ifeq 11
            aload 0 /* dest */
            instanceof java.util.RandomAccess
            ifeq 11
         5: .line 562
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 563
      StackMap locals: int
      StackMap stack:
            aload 0 /* dest */
            iload 3 /* i */
            aload 1 /* src */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 562
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* srcSize */
            if_icmplt 7
        end local 3 // int i
        10: .line 564
            goto 19
        11: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* di */
        start local 3 // java.util.ListIterator di
        12: .line 566
            aload 1 /* src */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 4 /* si */
        start local 4 // java.util.ListIterator si
        13: .line 567
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 18
        15: .line 568
      StackMap locals: java.util.ListIterator java.util.ListIterator int
      StackMap stack:
            aload 3 /* di */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
        16: .line 569
            aload 3 /* di */
            aload 4 /* si */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        17: .line 567
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 2 /* srcSize */
            if_icmplt 15
        end local 5 // int i
        end local 4 // java.util.ListIterator si
        end local 3 // java.util.ListIterator di
        19: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int srcSize
        end local 1 // java.util.List src
        end local 0 // java.util.List dest
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     dest  Ljava/util/List<-TT;>;
            0   20     1      src  Ljava/util/List<+TT;>;
            1   20     2  srcSize  I
            6   10     3        i  I
           12   19     3       di  Ljava/util/ListIterator<-TT;>;
           13   19     4       si  Ljava/util/ListIterator<+TT;>;
           14   19     5        i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<-TT;>;Ljava/util/List<+TT;>;)V
    MethodParameters:
      Name  Flags
      dest  
      src   

  public static <T extends java.lang.Comparable<? super T>> T min(java.util.Collection<? extends T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 597
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         1: .line 598
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* candidate */
        start local 2 // java.lang.Object candidate
         2: .line 600
            goto 6
         3: .line 601
      StackMap locals: java.util.Iterator java.lang.Object
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* next */
        start local 3 // java.lang.Object next
         4: .line 602
            aload 3 /* next */
            checkcast java.lang.Comparable
            checkcast java.lang.Comparable
            aload 2 /* candidate */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifge 6
         5: .line 603
            aload 3 /* next */
            astore 2 /* candidate */
        end local 3 // java.lang.Object next
         6: .line 600
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 605
            aload 2 /* candidate */
            areturn
        end local 2 // java.lang.Object candidate
        end local 1 // java.util.Iterator i
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       coll  Ljava/util/Collection<+TT;>;
            1    8     1          i  Ljava/util/Iterator<+TT;>;
            2    8     2  candidate  TT;
            4    6     3       next  TT;
    Signature: <T:Ljava/lang/Object;:Ljava/lang/Comparable<-TT;>;>(Ljava/util/Collection<+TT;>;)TT;
    MethodParameters:
      Name  Flags
      coll  

  public static <T> T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.Collection coll
        start local 1 // java.util.Comparator comp
         0: .line 633
            aload 1 /* comp */
            ifnonnull 2
         1: .line 634
            aload 0 /* coll */
            invokestatic java.util.Collections.min:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: .line 637
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* candidate */
        start local 3 // java.lang.Object candidate
         4: .line 639
            goto 8
         5: .line 640
      StackMap locals: java.util.Iterator java.lang.Object
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* next */
        start local 4 // java.lang.Object next
         6: .line 641
            aload 1 /* comp */
            aload 4 /* next */
            aload 3 /* candidate */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifge 8
         7: .line 642
            aload 4 /* next */
            astore 3 /* candidate */
        end local 4 // java.lang.Object next
         8: .line 639
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 644
            aload 3 /* candidate */
            areturn
        end local 3 // java.lang.Object candidate
        end local 2 // java.util.Iterator i
        end local 1 // java.util.Comparator comp
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       coll  Ljava/util/Collection<+TT;>;
            0   10     1       comp  Ljava/util/Comparator<-TT;>;
            3   10     2          i  Ljava/util/Iterator<+TT;>;
            4   10     3  candidate  TT;
            6    8     4       next  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<+TT;>;Ljava/util/Comparator<-TT;>;)TT;
    MethodParameters:
      Name  Flags
      coll  
      comp  

  public static <T extends java.lang.Comparable<? super T>> T max(java.util.Collection<? extends T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 670
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         1: .line 671
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* candidate */
        start local 2 // java.lang.Object candidate
         2: .line 673
            goto 6
         3: .line 674
      StackMap locals: java.util.Iterator java.lang.Object
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* next */
        start local 3 // java.lang.Object next
         4: .line 675
            aload 3 /* next */
            checkcast java.lang.Comparable
            checkcast java.lang.Comparable
            aload 2 /* candidate */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifle 6
         5: .line 676
            aload 3 /* next */
            astore 2 /* candidate */
        end local 3 // java.lang.Object next
         6: .line 673
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 678
            aload 2 /* candidate */
            areturn
        end local 2 // java.lang.Object candidate
        end local 1 // java.util.Iterator i
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       coll  Ljava/util/Collection<+TT;>;
            1    8     1          i  Ljava/util/Iterator<+TT;>;
            2    8     2  candidate  TT;
            4    6     3       next  TT;
    Signature: <T:Ljava/lang/Object;:Ljava/lang/Comparable<-TT;>;>(Ljava/util/Collection<+TT;>;)TT;
    MethodParameters:
      Name  Flags
      coll  

  public static <T> T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.Collection coll
        start local 1 // java.util.Comparator comp
         0: .line 706
            aload 1 /* comp */
            ifnonnull 2
         1: .line 707
            aload 0 /* coll */
            invokestatic java.util.Collections.max:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
         2: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: .line 710
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* candidate */
        start local 3 // java.lang.Object candidate
         4: .line 712
            goto 8
         5: .line 713
      StackMap locals: java.util.Iterator java.lang.Object
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* next */
        start local 4 // java.lang.Object next
         6: .line 714
            aload 1 /* comp */
            aload 4 /* next */
            aload 3 /* candidate */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifle 8
         7: .line 715
            aload 4 /* next */
            astore 3 /* candidate */
        end local 4 // java.lang.Object next
         8: .line 712
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 717
            aload 3 /* candidate */
            areturn
        end local 3 // java.lang.Object candidate
        end local 2 // java.util.Iterator i
        end local 1 // java.util.Comparator comp
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       coll  Ljava/util/Collection<+TT;>;
            0   10     1       comp  Ljava/util/Comparator<-TT;>;
            3   10     2          i  Ljava/util/Iterator<+TT;>;
            4   10     3  candidate  TT;
            6    8     4       next  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<+TT;>;Ljava/util/Comparator<-TT;>;)TT;
    MethodParameters:
      Name  Flags
      coll  
      comp  

  public static void rotate(java.util.List<?>, );
    descriptor: (Ljava/util/List;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // int distance
         0: .line 776
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifne 1
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            bipush 100
            if_icmpge 2
         1: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* distance */
            invokestatic java.util.Collections.rotate1:(Ljava/util/List;I)V
            goto 3
         2: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* distance */
            invokestatic java.util.Collections.rotate2:(Ljava/util/List;I)V
         3: .line 780
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int distance
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      list  Ljava/util/List<*>;
            0    4     1  distance  I
    Signature: (Ljava/util/List<*>;I)V
    MethodParameters:
          Name  Flags
      list      
      distance  

  private static <T> void rotate1(java.util.List<T>, );
    descriptor: (Ljava/util/List;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.List list
        start local 1 // int distance
         0: .line 783
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 784
            iload 2 /* size */
            ifne 3
         2: .line 785
            return
         3: .line 786
      StackMap locals: int
      StackMap stack:
            iload 1 /* distance */
            iload 2 /* size */
            irem
            istore 1 /* distance */
         4: .line 787
            iload 1 /* distance */
            ifge 6
         5: .line 788
            iload 1 /* distance */
            iload 2 /* size */
            iadd
            istore 1 /* distance */
         6: .line 789
      StackMap locals:
      StackMap stack:
            iload 1 /* distance */
            ifne 8
         7: .line 790
            return
         8: .line 792
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* cycleStart */
        start local 3 // int cycleStart
         9: iconst_0
            istore 4 /* nMoved */
        start local 4 // int nMoved
        10: goto 20
        11: .line 793
      StackMap locals: int int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* cycleStart */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 5 /* displaced */
        start local 5 // java.lang.Object displaced
        12: .line 794
            iload 3 /* cycleStart */
            istore 6 /* i */
        start local 6 // int i
        13: .line 796
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 6 /* i */
            iload 1 /* distance */
            iadd
            istore 6 /* i */
        14: .line 797
            iload 6 /* i */
            iload 2 /* size */
            if_icmplt 16
        15: .line 798
            iload 6 /* i */
            iload 2 /* size */
            isub
            istore 6 /* i */
        16: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 6 /* i */
            aload 5 /* displaced */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            astore 5 /* displaced */
        17: .line 800
            iinc 4 /* nMoved */ 1
        18: .line 801
            iload 6 /* i */
            iload 3 /* cycleStart */
            if_icmpne 13
        end local 6 // int i
        end local 5 // java.lang.Object displaced
        19: .line 792
            iinc 3 /* cycleStart */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* nMoved */
            iload 2 /* size */
            if_icmpne 11
        end local 4 // int nMoved
        end local 3 // int cycleStart
        21: .line 803
            return
        end local 2 // int size
        end local 1 // int distance
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        list  Ljava/util/List<TT;>;
            0   22     1    distance  I
            1   22     2        size  I
            9   21     3  cycleStart  I
           10   21     4      nMoved  I
           12   19     5   displaced  TT;
           13   19     6           i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;I)V
    MethodParameters:
          Name  Flags
      list      
      distance  

  private static void rotate2(java.util.List<?>, );
    descriptor: (Ljava/util/List;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.List list
        start local 1 // int distance
         0: .line 806
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 807
            iload 2 /* size */
            ifne 3
         2: .line 808
            return
         3: .line 809
      StackMap locals: int
      StackMap stack:
            iload 1 /* distance */
            ineg
            iload 2 /* size */
            irem
            istore 3 /* mid */
        start local 3 // int mid
         4: .line 810
            iload 3 /* mid */
            ifge 6
         5: .line 811
            iload 3 /* mid */
            iload 2 /* size */
            iadd
            istore 3 /* mid */
         6: .line 812
      StackMap locals: int
      StackMap stack:
            iload 3 /* mid */
            ifne 8
         7: .line 813
            return
         8: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iconst_0
            iload 3 /* mid */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
         9: .line 816
            aload 0 /* list */
            iload 3 /* mid */
            iload 2 /* size */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        10: .line 817
            aload 0 /* list */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        11: .line 818
            return
        end local 3 // int mid
        end local 2 // int size
        end local 1 // int distance
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      list  Ljava/util/List<*>;
            0   12     1  distance  I
            1   12     2      size  I
            4   12     3       mid  I
    Signature: (Ljava/util/List<*>;I)V
    MethodParameters:
          Name  Flags
      list      
      distance  

  public static <T> boolean replaceAll(java.util.List<T>, T, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.List list
        start local 1 // java.lang.Object oldVal
        start local 2 // java.lang.Object newVal
         0: .line 840
            iconst_0
            istore 3 /* result */
        start local 3 // boolean result
         1: .line 841
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
         2: .line 842
            iload 4 /* size */
            bipush 11
            if_icmplt 3
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 20
         3: .line 843
      StackMap locals: int int
      StackMap stack:
            aload 1 /* oldVal */
            ifnonnull 12
         4: .line 844
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 845
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnonnull 9
         7: .line 846
            aload 0 /* list */
            iload 5 /* i */
            aload 2 /* newVal */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 847
            iconst_1
            istore 3 /* result */
         9: .line 844
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 6
        end local 5 // int i
        11: .line 850
            goto 37
        12: .line 851
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 852
      StackMap locals: int
      StackMap stack:
            aload 1 /* oldVal */
            aload 0 /* list */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 853
            aload 0 /* list */
            iload 5 /* i */
            aload 2 /* newVal */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 854
            iconst_1
            istore 3 /* result */
        17: .line 851
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 14
        end local 5 // int i
        19: .line 858
            goto 37
        20: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 5 /* itr */
        start local 5 // java.util.ListIterator itr
        21: .line 860
            aload 1 /* oldVal */
            ifnonnull 30
        22: .line 861
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        23: goto 28
        24: .line 862
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            ifnonnull 27
        25: .line 863
            aload 5 /* itr */
            aload 2 /* newVal */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        26: .line 864
            iconst_1
            istore 3 /* result */
        27: .line 861
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 24
        end local 6 // int i
        29: .line 867
            goto 37
        30: .line 868
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        31: goto 36
        32: .line 869
      StackMap locals: int
      StackMap stack:
            aload 1 /* oldVal */
            aload 5 /* itr */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 870
            aload 5 /* itr */
            aload 2 /* newVal */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        34: .line 871
            iconst_1
            istore 3 /* result */
        35: .line 868
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 32
        end local 6 // int i
        end local 5 // java.util.ListIterator itr
        37: .line 876
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 4 // int size
        end local 3 // boolean result
        end local 2 // java.lang.Object newVal
        end local 1 // java.lang.Object oldVal
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   38     0    list  Ljava/util/List<TT;>;
            0   38     1  oldVal  TT;
            0   38     2  newVal  TT;
            1   38     3  result  Z
            2   38     4    size  I
            5   11     5       i  I
           13   19     5       i  I
           21   37     5     itr  Ljava/util/ListIterator<TT;>;
           23   29     6       i  I
           31   37     6       i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;TT;TT;)Z
    MethodParameters:
        Name  Flags
      list    
      oldVal  
      newVal  

  public static int indexOfSubList(java.util.List<?>, java.util.List<?>);
    descriptor: (Ljava/util/List;Ljava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.util.List source
        start local 1 // java.util.List target
         0: .line 900
            aload 0 /* source */
            invokeinterface java.util.List.size:()I
            istore 2 /* sourceSize */
        start local 2 // int sourceSize
         1: .line 901
            aload 1 /* target */
            invokeinterface java.util.List.size:()I
            istore 3 /* targetSize */
        start local 3 // int targetSize
         2: .line 902
            iload 2 /* sourceSize */
            iload 3 /* targetSize */
            isub
            istore 4 /* maxCandidate */
        start local 4 // int maxCandidate
         3: .line 904
            iload 2 /* sourceSize */
            bipush 35
            if_icmplt 5
         4: .line 905
            aload 0 /* source */
            instanceof java.util.RandomAccess
            ifeq 18
            aload 1 /* target */
            instanceof java.util.RandomAccess
            ifeq 18
         5: .line 907
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            istore 5 /* candidate */
        start local 5 // int candidate
         6: goto 16
         7: .line 908
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: iload 5 /* candidate */
            istore 7 /* j */
        start local 7 // int j
         9: goto 13
        10: .line 909
      StackMap locals: int int
      StackMap stack:
            aload 1 /* target */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 0 /* source */
            iload 7 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Collections.eq:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
        11: .line 910
            goto 15
        12: .line 908
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 3 /* targetSize */
            if_icmplt 10
        end local 7 // int j
        end local 6 // int i
        14: .line 911
            iload 5 /* candidate */
            ireturn
        15: .line 907
      StackMap locals:
      StackMap stack:
            iinc 5 /* candidate */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* candidate */
            iload 4 /* maxCandidate */
            if_icmple 7
        end local 5 // int candidate
        17: .line 913
            goto 36
        18: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 5 /* si */
        start local 5 // java.util.ListIterator si
        19: .line 916
            iconst_0
            istore 6 /* candidate */
        start local 6 // int candidate
        20: goto 35
        21: .line 917
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 1 /* target */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 7 /* ti */
        start local 7 // java.util.ListIterator ti
        22: .line 918
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        23: goto 32
        24: .line 919
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 7 /* ti */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            aload 5 /* si */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokestatic java.util.Collections.eq:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 31
        25: .line 921
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        26: goto 29
        27: .line 922
      StackMap locals: int
      StackMap stack:
            aload 5 /* si */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            pop
        28: .line 921
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* j */
            iload 8 /* i */
            if_icmplt 27
        end local 9 // int j
        30: .line 923
            goto 34
        31: .line 918
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            iload 3 /* targetSize */
            if_icmplt 24
        end local 8 // int i
        33: .line 926
            iload 6 /* candidate */
            ireturn
        end local 7 // java.util.ListIterator ti
        34: .line 916
      StackMap locals:
      StackMap stack:
            iinc 6 /* candidate */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* candidate */
            iload 4 /* maxCandidate */
            if_icmple 21
        end local 6 // int candidate
        end local 5 // java.util.ListIterator si
        36: .line 929
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 4 // int maxCandidate
        end local 3 // int targetSize
        end local 2 // int sourceSize
        end local 1 // java.util.List target
        end local 0 // java.util.List source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0        source  Ljava/util/List<*>;
            0   37     1        target  Ljava/util/List<*>;
            1   37     2    sourceSize  I
            2   37     3    targetSize  I
            3   37     4  maxCandidate  I
            6   17     5     candidate  I
            8   14     6             i  I
            9   14     7             j  I
           19   36     5            si  Ljava/util/ListIterator<*>;
           20   36     6     candidate  I
           22   34     7            ti  Ljava/util/ListIterator<*>;
           23   33     8             i  I
           26   30     9             j  I
    Signature: (Ljava/util/List<*>;Ljava/util/List<*>;)I
    MethodParameters:
        Name  Flags
      source  
      target  

  public static int lastIndexOfSubList(java.util.List<?>, java.util.List<?>);
    descriptor: (Ljava/util/List;Ljava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.util.List source
        start local 1 // java.util.List target
         0: .line 953
            aload 0 /* source */
            invokeinterface java.util.List.size:()I
            istore 2 /* sourceSize */
        start local 2 // int sourceSize
         1: .line 954
            aload 1 /* target */
            invokeinterface java.util.List.size:()I
            istore 3 /* targetSize */
        start local 3 // int targetSize
         2: .line 955
            iload 2 /* sourceSize */
            iload 3 /* targetSize */
            isub
            istore 4 /* maxCandidate */
        start local 4 // int maxCandidate
         3: .line 957
            iload 2 /* sourceSize */
            bipush 35
            if_icmplt 5
         4: .line 958
            aload 0 /* source */
            instanceof java.util.RandomAccess
            ifeq 18
         5: .line 960
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* maxCandidate */
            istore 5 /* candidate */
        start local 5 // int candidate
         6: goto 16
         7: .line 961
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: iload 5 /* candidate */
            istore 7 /* j */
        start local 7 // int j
         9: goto 13
        10: .line 962
      StackMap locals: int int
      StackMap stack:
            aload 1 /* target */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 0 /* source */
            iload 7 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Collections.eq:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
        11: .line 963
            goto 15
        12: .line 961
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 3 /* targetSize */
            if_icmplt 10
        end local 7 // int j
        end local 6 // int i
        14: .line 964
            iload 5 /* candidate */
            ireturn
        15: .line 960
      StackMap locals:
      StackMap stack:
            iinc 5 /* candidate */ -1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* candidate */
            ifge 7
        end local 5 // int candidate
        17: .line 966
            goto 39
        18: .line 967
      StackMap locals:
      StackMap stack:
            iload 4 /* maxCandidate */
            ifge 20
        19: .line 968
            iconst_m1
            ireturn
        20: .line 969
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            iload 4 /* maxCandidate */
            invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
            astore 5 /* si */
        start local 5 // java.util.ListIterator si
        21: .line 971
            iload 4 /* maxCandidate */
            istore 6 /* candidate */
        start local 6 // int candidate
        22: goto 38
        23: .line 972
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 1 /* target */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 7 /* ti */
        start local 7 // java.util.ListIterator ti
        24: .line 973
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        25: goto 35
        26: .line 974
      StackMap locals: java.util.ListIterator int
      StackMap stack:
            aload 7 /* ti */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            aload 5 /* si */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokestatic java.util.Collections.eq:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 34
        27: .line 975
            iload 6 /* candidate */
            ifeq 37
        28: .line 977
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        29: goto 32
        30: .line 978
      StackMap locals: int
      StackMap stack:
            aload 5 /* si */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            pop
        31: .line 977
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        32: iload 9 /* j */
            iload 8 /* i */
            iconst_1
            iadd
            if_icmple 30
        end local 9 // int j
        33: .line 980
            goto 37
        34: .line 973
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* i */
            iload 3 /* targetSize */
            if_icmplt 26
        end local 8 // int i
        36: .line 983
            iload 6 /* candidate */
            ireturn
        end local 7 // java.util.ListIterator ti
        37: .line 971
      StackMap locals:
      StackMap stack:
            iinc 6 /* candidate */ -1
      StackMap locals:
      StackMap stack:
        38: iload 6 /* candidate */
            ifge 23
        end local 6 // int candidate
        end local 5 // java.util.ListIterator si
        39: .line 986
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 4 // int maxCandidate
        end local 3 // int targetSize
        end local 2 // int sourceSize
        end local 1 // java.util.List target
        end local 0 // java.util.List source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0        source  Ljava/util/List<*>;
            0   40     1        target  Ljava/util/List<*>;
            1   40     2    sourceSize  I
            2   40     3    targetSize  I
            3   40     4  maxCandidate  I
            6   17     5     candidate  I
            8   14     6             i  I
            9   14     7             j  I
           21   39     5            si  Ljava/util/ListIterator<*>;
           22   39     6     candidate  I
           24   37     7            ti  Ljava/util/ListIterator<*>;
           25   36     8             i  I
           29   33     9             j  I
    Signature: (Ljava/util/List<*>;Ljava/util/List<*>;)I
    MethodParameters:
        Name  Flags
      source  
      target  

  public static <T> java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 1015
            new java.util.Collections$UnmodifiableCollection
            dup
            aload 0 /* c */
            invokespecial java.util.Collections$UnmodifiableCollection.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<+TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<+TT;>;)Ljava/util/Collection<TT;>;
    MethodParameters:
      Name  Flags
      c     

  public static <T> java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Set s
         0: .line 1120
            new java.util.Collections$UnmodifiableSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$UnmodifiableSet.<init>:(Ljava/util/Set;)V
            areturn
        end local 0 // java.util.Set s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/Set<+TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<+TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
    descriptor: (Ljava/util/SortedSet;)Ljava/util/SortedSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.SortedSet s
         0: .line 1153
            new java.util.Collections$UnmodifiableSortedSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$UnmodifiableSortedSet.<init>:(Ljava/util/SortedSet;)V
            areturn
        end local 0 // java.util.SortedSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/SortedSet<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/SortedSet<TT;>;)Ljava/util/SortedSet<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.NavigableSet<T> unmodifiableNavigableSet(java.util.NavigableSet<T>);
    descriptor: (Ljava/util/NavigableSet;)Ljava/util/NavigableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.NavigableSet s
         0: .line 1202
            new java.util.Collections$UnmodifiableNavigableSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$UnmodifiableNavigableSet.<init>:(Ljava/util/NavigableSet;)V
            areturn
        end local 0 // java.util.NavigableSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/NavigableSet<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/NavigableSet<TT;>;)Ljava/util/NavigableSet<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.List<T> unmodifiableList(java.util.List<? extends T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 1289
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 1290
            new java.util.Collections$UnmodifiableRandomAccessList
            dup
            aload 0 /* list */
            invokespecial java.util.Collections$UnmodifiableRandomAccessList.<init>:(Ljava/util/List;)V
            goto 3
         2: .line 1291
      StackMap locals:
      StackMap stack:
            new java.util.Collections$UnmodifiableList
            dup
            aload 0 /* list */
            invokespecial java.util.Collections$UnmodifiableList.<init>:(Ljava/util/List;)V
         3: .line 1289
      StackMap locals:
      StackMap stack: java.util.Collections$UnmodifiableList
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<+TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  

  public static <K, V> java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 1435
            new java.util.Collections$UnmodifiableMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$UnmodifiableMap.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/Map<+TK;+TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<+TK;+TV;>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <K, V> java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
    descriptor: (Ljava/util/SortedMap;)Ljava/util/SortedMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.SortedMap m
         0: .line 1787
            new java.util.Collections$UnmodifiableSortedMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$UnmodifiableSortedMap.<init>:(Ljava/util/SortedMap;)V
            areturn
        end local 0 // java.util.SortedMap m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/SortedMap<TK;+TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/SortedMap<TK;+TV;>;)Ljava/util/SortedMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <K, V> java.util.NavigableMap<K, V> unmodifiableNavigableMap(java.util.NavigableMap<K, ? extends V>);
    descriptor: (Ljava/util/NavigableMap;)Ljava/util/NavigableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.NavigableMap m
         0: .line 1832
            new java.util.Collections$UnmodifiableNavigableMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$UnmodifiableNavigableMap.<init>:(Ljava/util/NavigableMap;)V
            areturn
        end local 0 // java.util.NavigableMap m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/NavigableMap<TK;+TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/NavigableMap<TK;+TV;>;)Ljava/util/NavigableMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <T> java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 1990
            new java.util.Collections$SynchronizedCollection
            dup
            aload 0 /* c */
            invokespecial java.util.Collections$SynchronizedCollection.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/util/Collection<TT;>;
    MethodParameters:
      Name  Flags
      c     

  static <T> java.util.Collection<T> synchronizedCollection(java.util.Collection<T>, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // java.lang.Object mutex
         0: .line 1994
            new java.util.Collections$SynchronizedCollection
            dup
            aload 0 /* c */
            aload 1 /* mutex */
            invokespecial java.util.Collections$SynchronizedCollection.<init>:(Ljava/util/Collection;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0      c  Ljava/util/Collection<TT;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;Ljava/lang/Object;)Ljava/util/Collection<TT;>;
    MethodParameters:
       Name  Flags
      c      
      mutex  

  public static <T> java.util.Set<T> synchronizedSet(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Set s
         0: .line 2114
            new java.util.Collections$SynchronizedSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$SynchronizedSet.<init>:(Ljava/util/Set;)V
            areturn
        end local 0 // java.util.Set s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/Set<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      s     

  static <T> java.util.Set<T> synchronizedSet(java.util.Set<T>, );
    descriptor: (Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Set s
        start local 1 // java.lang.Object mutex
         0: .line 2118
            new java.util.Collections$SynchronizedSet
            dup
            aload 0 /* s */
            aload 1 /* mutex */
            invokespecial java.util.Collections$SynchronizedSet.<init>:(Ljava/util/Set;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Set s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0      s  Ljava/util/Set<TT;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;Ljava/lang/Object;)Ljava/util/Set<TT;>;
    MethodParameters:
       Name  Flags
      s      
      mutex  

  public static <T> java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
    descriptor: (Ljava/util/SortedSet;)Ljava/util/SortedSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.SortedSet s
         0: .line 2185
            new java.util.Collections$SynchronizedSortedSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$SynchronizedSortedSet.<init>:(Ljava/util/SortedSet;)V
            areturn
        end local 0 // java.util.SortedSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/SortedSet<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/SortedSet<TT;>;)Ljava/util/SortedSet<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.NavigableSet<T> synchronizedNavigableSet(java.util.NavigableSet<T>);
    descriptor: (Ljava/util/NavigableSet;)Ljava/util/NavigableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.NavigableSet s
         0: .line 2278
            new java.util.Collections$SynchronizedNavigableSet
            dup
            aload 0 /* s */
            invokespecial java.util.Collections$SynchronizedNavigableSet.<init>:(Ljava/util/NavigableSet;)V
            areturn
        end local 0 // java.util.NavigableSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/NavigableSet<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/NavigableSet<TT;>;)Ljava/util/NavigableSet<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.List<T> synchronizedList(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 2379
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 2380
            new java.util.Collections$SynchronizedRandomAccessList
            dup
            aload 0 /* list */
            invokespecial java.util.Collections$SynchronizedRandomAccessList.<init>:(Ljava/util/List;)V
            goto 3
         2: .line 2381
      StackMap locals:
      StackMap stack:
            new java.util.Collections$SynchronizedList
            dup
            aload 0 /* list */
            invokespecial java.util.Collections$SynchronizedList.<init>:(Ljava/util/List;)V
         3: .line 2379
      StackMap locals:
      StackMap stack: java.util.Collections$SynchronizedList
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  

  static <T> java.util.List<T> synchronizedList(java.util.List<T>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object mutex
         0: .line 2385
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 2386
            new java.util.Collections$SynchronizedRandomAccessList
            dup
            aload 0 /* list */
            aload 1 /* mutex */
            invokespecial java.util.Collections$SynchronizedRandomAccessList.<init>:(Ljava/util/List;Ljava/lang/Object;)V
            goto 3
         2: .line 2387
      StackMap locals:
      StackMap stack:
            new java.util.Collections$SynchronizedList
            dup
            aload 0 /* list */
            aload 1 /* mutex */
            invokespecial java.util.Collections$SynchronizedList.<init>:(Ljava/util/List;Ljava/lang/Object;)V
         3: .line 2385
      StackMap locals:
      StackMap stack: java.util.Collections$SynchronizedList
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   list  Ljava/util/List<TT;>;
            0    4     1  mutex  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/lang/Object;)Ljava/util/List<TT;>;
    MethodParameters:
       Name  Flags
      list   
      mutex  

  public static <K, V> java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 2550
            new java.util.Collections$SynchronizedMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$SynchronizedMap.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/Map<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <K, V> java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
    descriptor: (Ljava/util/SortedMap;)Ljava/util/SortedMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.SortedMap m
         0: .line 2742
            new java.util.Collections$SynchronizedSortedMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$SynchronizedSortedMap.<init>:(Ljava/util/SortedMap;)V
            areturn
        end local 0 // java.util.SortedMap m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/SortedMap<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/SortedMap<TK;TV;>;)Ljava/util/SortedMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <K, V> java.util.NavigableMap<K, V> synchronizedNavigableMap(java.util.NavigableMap<K, V>);
    descriptor: (Ljava/util/NavigableMap;)Ljava/util/NavigableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.NavigableMap m
         0: .line 2841
            new java.util.Collections$SynchronizedNavigableMap
            dup
            aload 0 /* m */
            invokespecial java.util.Collections$SynchronizedNavigableMap.<init>:(Ljava/util/NavigableMap;)V
            areturn
        end local 0 // java.util.NavigableMap m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/NavigableMap<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/NavigableMap<TK;TV;>;)Ljava/util/NavigableMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <E> java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/Collection;Ljava/lang/Class;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // java.lang.Class type
         0: .line 3019
            new java.util.Collections$CheckedCollection
            dup
            aload 0 /* c */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedCollection.<init>:(Ljava/util/Collection;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<TE;>;
            0    1     1  type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/Collection<TE;>;
    MethodParameters:
      Name  Flags
      c     
      type  

  static <T> T[] zeroLengthArray(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 3024
            aload 0 /* type */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            areturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)[TT;
    MethodParameters:
      Name  Flags
      type  

  public static <E> java.util.Queue<E> checkedQueue(java.util.Queue<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/Queue;Ljava/lang/Class;)Ljava/util/Queue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Queue queue
        start local 1 // java.lang.Class type
         0: .line 3165
            new java.util.Collections$CheckedQueue
            dup
            aload 0 /* queue */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedQueue.<init>:(Ljava/util/Queue;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.Queue queue
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  queue  Ljava/util/Queue<TE;>;
            0    1     1   type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Queue<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/Queue<TE;>;
    MethodParameters:
       Name  Flags
      queue  
      type   

  public static <E> java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/Set;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Set s
        start local 1 // java.lang.Class type
         0: .line 3220
            new java.util.Collections$CheckedSet
            dup
            aload 0 /* s */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedSet.<init>:(Ljava/util/Set;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.Set s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/Set<TE;>;
            0    1     1  type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Set<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/Set<TE;>;
    MethodParameters:
      Name  Flags
      s     
      type  

  public static <E> java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/SortedSet;Ljava/lang/Class;)Ljava/util/SortedSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.SortedSet s
        start local 1 // java.lang.Class type
         0: .line 3267
            new java.util.Collections$CheckedSortedSet
            dup
            aload 0 /* s */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedSortedSet.<init>:(Ljava/util/SortedSet;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.SortedSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/SortedSet<TE;>;
            0    1     1  type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/SortedSet<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/SortedSet<TE;>;
    MethodParameters:
      Name  Flags
      s     
      type  

  public static <E> java.util.NavigableSet<E> checkedNavigableSet(java.util.NavigableSet<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/NavigableSet;Ljava/lang/Class;)Ljava/util/NavigableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.NavigableSet s
        start local 1 // java.lang.Class type
         0: .line 3330
            new java.util.Collections$CheckedNavigableSet
            dup
            aload 0 /* s */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedNavigableSet.<init>:(Ljava/util/NavigableSet;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.NavigableSet s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/NavigableSet<TE;>;
            0    1     1  type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/NavigableSet<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/NavigableSet<TE;>;
    MethodParameters:
      Name  Flags
      s     
      type  

  public static <E> java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)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 // java.lang.Class type
         0: .line 3410
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 3411
            new java.util.Collections$CheckedRandomAccessList
            dup
            aload 0 /* list */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedRandomAccessList.<init>:(Ljava/util/List;Ljava/lang/Class;)V
            goto 3
         2: .line 3412
      StackMap locals:
      StackMap stack:
            new java.util.Collections$CheckedList
            dup
            aload 0 /* list */
            aload 1 /* type */
            invokespecial java.util.Collections$CheckedList.<init>:(Ljava/util/List;Ljava/lang/Class;)V
         3: .line 3410
      StackMap locals:
      StackMap stack: java.util.Collections$CheckedList
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TE;>;
            0    4     1  type  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Ljava/lang/Class<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      list  
      type  

  public static <K, V> java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.Map m
        start local 1 // java.lang.Class keyType
        start local 2 // java.lang.Class valueType
         0: .line 3558
            new java.util.Collections$CheckedMap
            dup
            aload 0 /* m */
            aload 1 /* keyType */
            aload 2 /* valueType */
            invokespecial java.util.Collections$CheckedMap.<init>:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
        end local 2 // java.lang.Class valueType
        end local 1 // java.lang.Class keyType
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          m  Ljava/util/Map<TK;TV;>;
            0    1     1    keyType  Ljava/lang/Class<TK;>;
            0    1     2  valueType  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
           Name  Flags
      m          
      keyType    
      valueType  

  public static <K, V> java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/util/SortedMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/SortedMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.SortedMap m
        start local 1 // java.lang.Class keyType
        start local 2 // java.lang.Class valueType
         0: .line 3954
            new java.util.Collections$CheckedSortedMap
            dup
            aload 0 /* m */
            aload 1 /* keyType */
            aload 2 /* valueType */
            invokespecial java.util.Collections$CheckedSortedMap.<init>:(Ljava/util/SortedMap;Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
        end local 2 // java.lang.Class valueType
        end local 1 // java.lang.Class keyType
        end local 0 // java.util.SortedMap m
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          m  Ljava/util/SortedMap<TK;TV;>;
            0    1     1    keyType  Ljava/lang/Class<TK;>;
            0    1     2  valueType  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/SortedMap<TK;TV;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Ljava/util/SortedMap<TK;TV;>;
    MethodParameters:
           Name  Flags
      m          
      keyType    
      valueType  

  public static <K, V> java.util.NavigableMap<K, V> checkedNavigableMap(java.util.NavigableMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/util/NavigableMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/NavigableMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.NavigableMap m
        start local 1 // java.lang.Class keyType
        start local 2 // java.lang.Class valueType
         0: .line 4028
            new java.util.Collections$CheckedNavigableMap
            dup
            aload 0 /* m */
            aload 1 /* keyType */
            aload 2 /* valueType */
            invokespecial java.util.Collections$CheckedNavigableMap.<init>:(Ljava/util/NavigableMap;Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
        end local 2 // java.lang.Class valueType
        end local 1 // java.lang.Class keyType
        end local 0 // java.util.NavigableMap m
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          m  Ljava/util/NavigableMap<TK;TV;>;
            0    1     1    keyType  Ljava/lang/Class<TK;>;
            0    1     2  valueType  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/NavigableMap<TK;TV;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Ljava/util/NavigableMap<TK;TV;>;
    MethodParameters:
           Name  Flags
      m          
      keyType    
      valueType  

  public static <T> java.util.Iterator<T> emptyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4183
            getstatic java.util.Collections$EmptyIterator.EMPTY_ITERATOR:Ljava/util/Collections$EmptyIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/Iterator<TT;>;

  public static <T> java.util.ListIterator<T> emptyListIterator();
    descriptor: ()Ljava/util/ListIterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4227
            getstatic java.util.Collections$EmptyListIterator.EMPTY_ITERATOR:Ljava/util/Collections$EmptyListIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/ListIterator<TT;>;

  public static <T> java.util.Enumeration<T> emptyEnumeration();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4264
            getstatic java.util.Collections$EmptyEnumeration.EMPTY_ENUMERATION:Ljava/util/Collections$EmptyEnumeration;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/Enumeration<TT;>;

  public static final <T> java.util.Set<T> emptySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4304
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/Set<TT;>;

  public static <E> java.util.SortedSet<E> emptySortedSet();
    descriptor: ()Ljava/util/SortedSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4369
            getstatic java.util.Collections$UnmodifiableNavigableSet.EMPTY_NAVIGABLE_SET:Ljava/util/NavigableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/SortedSet<TE;>;

  public static <E> java.util.NavigableSet<E> emptyNavigableSet();
    descriptor: ()Ljava/util/NavigableSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4390
            getstatic java.util.Collections$UnmodifiableNavigableSet.EMPTY_NAVIGABLE_SET:Ljava/util/NavigableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/NavigableSet<TE;>;

  public static final <T> java.util.List<T> emptyList();
    descriptor: ()Ljava/util/List;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4423
            getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/List<TT;>;

  public static final <K, V> java.util.Map<K, V> emptyMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4522
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  public static final <K, V> java.util.SortedMap<K, V> emptySortedMap();
    descriptor: ()Ljava/util/SortedMap;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4543
            getstatic java.util.Collections$UnmodifiableNavigableMap.EMPTY_NAVIGABLE_MAP:Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/SortedMap<TK;TV;>;

  public static final <K, V> java.util.NavigableMap<K, V> emptyNavigableMap();
    descriptor: ()Ljava/util/NavigableMap;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 4564
            getstatic java.util.Collections$UnmodifiableNavigableMap.EMPTY_NAVIGABLE_MAP:Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/NavigableMap<TK;TV;>;

  public static <T> java.util.Set<T> singleton(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 4669
            new java.util.Collections$SingletonSet
            dup
            aload 0 /* o */
            invokespecial java.util.Collections$SingletonSet.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      o     

  static <E> java.util.Iterator<E> singletonIterator(E);
    descriptor: (Ljava/lang/Object;)Ljava/util/Iterator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object e
         0: .line 4673
            new java.util.Collections$1
            dup
            aload 0 /* e */
            invokespecial java.util.Collections$1.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  TE;
    Signature: <E:Ljava/lang/Object;>(TE;)Ljava/util/Iterator<TE;>;
    MethodParameters:
      Name  Flags
      e     final

  static <T> java.util.Spliterator<T> singletonSpliterator(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/Spliterator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object element
         0: .line 4706
            new java.util.Collections$2
            dup
            aload 0 /* element */
            invokespecial java.util.Collections$2.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  element  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/Spliterator<TT;>;
    MethodParameters:
         Name  Flags
      element  final

  public static <T> java.util.List<T> singletonList(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 4791
            new java.util.Collections$SingletonList
            dup
            aload 0 /* o */
            invokespecial java.util.Collections$SingletonList.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      o     

  public static <K, V> java.util.Map<K, V> singletonMap(K, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // java.lang.Object value
         0: .line 4856
            new java.util.Collections$SingletonMap
            dup
            aload 0 /* key */
            aload 1 /* value */
            invokespecial java.util.Collections$SingletonMap.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object value
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    key  TK;
            0    1     1  value  TV;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(TK;TV;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public static <T> java.util.List<T> nCopies(int, T);
    descriptor: (ILjava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int n
        start local 1 // java.lang.Object o
         0: .line 4985
            iload 0 /* n */
            ifge 2
         1: .line 4986
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "List length = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* n */
            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 4987
      StackMap locals:
      StackMap stack:
            new java.util.Collections$CopiesList
            dup
            iload 0 /* n */
            aload 1 /* o */
            invokespecial java.util.Collections$CopiesList.<init>:(ILjava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object o
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  I
            0    3     1     o  TT;
    Signature: <T:Ljava/lang/Object;>(ITT;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      n     
      o     

  public static <T> java.util.Comparator<T> reverseOrder();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 5156
            getstatic java.util.Collections$ReverseComparator.REVERSE_ORDER:Ljava/util/Collections$ReverseComparator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/Comparator<TT;>;

  public static <T> java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Comparator cmp
         0: .line 5200
            aload 0 /* cmp */
            ifnonnull 2
         1: .line 5201
            invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
            areturn
         2: .line 5203
      StackMap locals:
      StackMap stack:
            aload 0 /* cmp */
            instanceof java.util.Collections$ReverseComparator2
            ifeq 4
         3: .line 5204
            aload 0 /* cmp */
            checkcast java.util.Collections$ReverseComparator2
            getfield java.util.Collections$ReverseComparator2.cmp:Ljava/util/Comparator;
            areturn
         4: .line 5206
      StackMap locals:
      StackMap stack:
            new java.util.Collections$ReverseComparator2
            dup
            aload 0 /* cmp */
            invokespecial java.util.Collections$ReverseComparator2.<init>:(Ljava/util/Comparator;)V
            areturn
        end local 0 // java.util.Comparator cmp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   cmp  Ljava/util/Comparator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Comparator<TT;>;)Ljava/util/Comparator<TT;>;
    MethodParameters:
      Name  Flags
      cmp   

  public static <T> java.util.Enumeration<T> enumeration(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Enumeration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 5262
            new java.util.Collections$3
            dup
            aload 0 /* c */
            invokespecial java.util.Collections$3.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/util/Enumeration<TT;>;
    MethodParameters:
      Name  Flags
      c     final

  public static <T> java.util.ArrayList<T> list(java.util.Enumeration<T>);
    descriptor: (Ljava/util/Enumeration;)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Enumeration e
         0: .line 5292
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* l */
        start local 1 // java.util.ArrayList l
         1: .line 5293
            goto 3
         2: .line 5294
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* l */
            aload 0 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 5293
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         4: .line 5295
            aload 1 /* l */
            areturn
        end local 1 // java.util.ArrayList l
        end local 0 // java.util.Enumeration e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     e  Ljava/util/Enumeration<TT;>;
            1    5     1     l  Ljava/util/ArrayList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Enumeration<TT;>;)Ljava/util/ArrayList<TT;>;
    MethodParameters:
      Name  Flags
      e     

  static boolean eq(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object o1
        start local 1 // java.lang.Object o2
         0: .line 5304
            aload 0 /* o1 */
            ifnonnull 2
            aload 1 /* o2 */
            ifnonnull 1
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* o1 */
            aload 1 /* o2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // java.lang.Object o2
        end local 0 // java.lang.Object o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    o1  Ljava/lang/Object;
            0    4     1    o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  public static int frequency(java.util.Collection<?>, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // java.lang.Object o
         0: .line 5321
            iconst_0
            istore 2 /* result */
        start local 2 // int result
         1: .line 5322
            aload 1 /* o */
            ifnonnull 8
         2: .line 5323
            aload 0 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.util.Collection java.lang.Object int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* e */
        start local 3 // java.lang.Object e
         4: .line 5324
            aload 3 /* e */
            ifnonnull 6
         5: .line 5325
            iinc 2 /* result */ 1
        end local 3 // java.lang.Object e
         6: .line 5323
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 5326
            goto 13
         8: .line 5327
      StackMap locals: java.util.Collection java.lang.Object int
      StackMap stack:
            aload 0 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: java.util.Collection java.lang.Object int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* e */
        start local 3 // java.lang.Object e
        10: .line 5328
            aload 1 /* o */
            aload 3 /* e */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 5329
            iinc 2 /* result */ 1
        end local 3 // java.lang.Object e
        12: .line 5327
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 5331
      StackMap locals: java.util.Collection java.lang.Object int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // java.lang.Object o
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       c  Ljava/util/Collection<*>;
            0   14     1       o  Ljava/lang/Object;
            1   14     2  result  I
            4    6     3       e  Ljava/lang/Object;
           10   12     3       e  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;Ljava/lang/Object;)I
    MethodParameters:
      Name  Flags
      c     
      o     

  public static boolean disjoint(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 c1
        start local 1 // java.util.Collection c2
         0: .line 5375
            aload 1 /* c2 */
            astore 2 /* contains */
        start local 2 // java.util.Collection contains
         1: .line 5381
            aload 0 /* c1 */
            astore 3 /* iterate */
        start local 3 // java.util.Collection iterate
         2: .line 5388
            aload 0 /* c1 */
            instanceof java.util.Set
            ifeq 6
         3: .line 5391
            aload 1 /* c2 */
            astore 3 /* iterate */
         4: .line 5392
            aload 0 /* c1 */
            astore 2 /* contains */
         5: .line 5393
            goto 14
      StackMap locals: java.util.Collection java.util.Collection
      StackMap stack:
         6: aload 1 /* c2 */
            instanceof java.util.Set
            ifne 14
         7: .line 5400
            aload 0 /* c1 */
            invokeinterface java.util.Collection.size:()I
            istore 4 /* c1size */
        start local 4 // int c1size
         8: .line 5401
            aload 1 /* c2 */
            invokeinterface java.util.Collection.size:()I
            istore 5 /* c2size */
        start local 5 // int c2size
         9: .line 5402
            iload 4 /* c1size */
            ifeq 10
            iload 5 /* c2size */
            ifne 11
        10: .line 5404
      StackMap locals: int int
      StackMap stack:
            iconst_1
            ireturn
        11: .line 5407
      StackMap locals:
      StackMap stack:
            iload 4 /* c1size */
            iload 5 /* c2size */
            if_icmple 14
        12: .line 5408
            aload 1 /* c2 */
            astore 3 /* iterate */
        13: .line 5409
            aload 0 /* c1 */
            astore 2 /* contains */
        end local 5 // int c2size
        end local 4 // int c1size
        14: .line 5413
      StackMap locals:
      StackMap stack:
            aload 3 /* iterate */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: java.util.Collection java.util.Collection java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* e */
        start local 4 // java.lang.Object e
        16: .line 5414
            aload 2 /* contains */
            aload 4 /* e */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 5416
            iconst_0
            ireturn
        end local 4 // java.lang.Object e
        18: .line 5413
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 5421
            iconst_1
            ireturn
        end local 3 // java.util.Collection iterate
        end local 2 // java.util.Collection contains
        end local 1 // java.util.Collection c2
        end local 0 // java.util.Collection c1
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0        c1  Ljava/util/Collection<*>;
            0   20     1        c2  Ljava/util/Collection<*>;
            1   20     2  contains  Ljava/util/Collection<*>;
            2   20     3   iterate  Ljava/util/Collection<*>;
            8   14     4    c1size  I
            9   14     5    c2size  I
           16   18     4         e  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static <T> boolean addAll(java.util.Collection<? super T>, );
    descriptor: (Ljava/util/Collection;[Ljava/lang/Object;)Z
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // java.lang.Object[] elements
         0: .line 5453
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 5454
            aload 1 /* elements */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: java.util.Collection java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* element */
        start local 3 // java.lang.Object element
         3: .line 5455
            iload 2 /* result */
            aload 0 /* c */
            aload 3 /* element */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            ior
            istore 2 /* result */
        end local 3 // java.lang.Object element
         4: .line 5454
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 5456
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object[] elements
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0         c  Ljava/util/Collection<-TT;>;
            0    7     1  elements  [Ljava/lang/Object;
            1    7     2    result  Z
            3    4     3   element  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<-TT;>;[TT;)Z
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
          Name  Flags
      c         
      elements  

  public static <E> java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
    descriptor: (Ljava/util/Map;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map map
         0: .line 5491
            new java.util.Collections$SetFromMap
            dup
            aload 0 /* map */
            invokespecial java.util.Collections$SetFromMap.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   map  Ljava/util/Map<TE;Ljava/lang/Boolean;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Map<TE;Ljava/lang/Boolean;>;)Ljava/util/Set<TE;>;
    MethodParameters:
      Name  Flags
      map   

  public static <T> java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
    descriptor: (Ljava/util/Deque;)Ljava/util/Queue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Deque deque
         0: .line 5573
            new java.util.Collections$AsLIFOQueue
            dup
            aload 0 /* deque */
            invokespecial java.util.Collections$AsLIFOQueue.<init>:(Ljava/util/Deque;)V
            areturn
        end local 0 // java.util.Deque deque
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  deque  Ljava/util/Deque<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Deque<TT;>;)Ljava/util/Queue<TT;>;
    MethodParameters:
       Name  Flags
      deque  
}
SourceFile: "Collections.java"
NestMembers:
  java.util.Collections$1  java.util.Collections$2  java.util.Collections$3  java.util.Collections$AsLIFOQueue  java.util.Collections$CheckedCollection  java.util.Collections$CheckedCollection$1  java.util.Collections$CheckedList  java.util.Collections$CheckedList$1  java.util.Collections$CheckedMap  java.util.Collections$CheckedMap$CheckedEntrySet  java.util.Collections$CheckedMap$CheckedEntrySet$1  java.util.Collections$CheckedMap$CheckedEntrySet$CheckedEntry  java.util.Collections$CheckedNavigableMap  java.util.Collections$CheckedNavigableSet  java.util.Collections$CheckedQueue  java.util.Collections$CheckedRandomAccessList  java.util.Collections$CheckedSet  java.util.Collections$CheckedSortedMap  java.util.Collections$CheckedSortedSet  java.util.Collections$CopiesList  java.util.Collections$EmptyEnumeration  java.util.Collections$EmptyIterator  java.util.Collections$EmptyList  java.util.Collections$EmptyListIterator  java.util.Collections$EmptyMap  java.util.Collections$EmptySet  java.util.Collections$ReverseComparator  java.util.Collections$ReverseComparator2  java.util.Collections$SetFromMap  java.util.Collections$SingletonList  java.util.Collections$SingletonMap  java.util.Collections$SingletonSet  java.util.Collections$SynchronizedCollection  java.util.Collections$SynchronizedList  java.util.Collections$SynchronizedMap  java.util.Collections$SynchronizedNavigableMap  java.util.Collections$SynchronizedNavigableSet  java.util.Collections$SynchronizedRandomAccessList  java.util.Collections$SynchronizedSet  java.util.Collections$SynchronizedSortedMap  java.util.Collections$SynchronizedSortedSet  java.util.Collections$UnmodifiableCollection  java.util.Collections$UnmodifiableCollection$1  java.util.Collections$UnmodifiableList  java.util.Collections$UnmodifiableList$1  java.util.Collections$UnmodifiableMap  java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet  java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1  java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry  java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator  java.util.Collections$UnmodifiableNavigableMap  java.util.Collections$UnmodifiableNavigableMap$EmptyNavigableMap  java.util.Collections$UnmodifiableNavigableSet  java.util.Collections$UnmodifiableNavigableSet$EmptyNavigableSet  java.util.Collections$UnmodifiableRandomAccessList  java.util.Collections$UnmodifiableSet  java.util.Collections$UnmodifiableSortedMap  java.util.Collections$UnmodifiableSortedSet
InnerClasses:
  java.util.Collections$1
  java.util.Collections$2
  java.util.Collections$3
  AsLIFOQueue = java.util.Collections$AsLIFOQueue of java.util.Collections
  CheckedCollection = java.util.Collections$CheckedCollection of java.util.Collections
  CheckedList = java.util.Collections$CheckedList of java.util.Collections
  private CheckedMap = java.util.Collections$CheckedMap of java.util.Collections
  CheckedNavigableMap = java.util.Collections$CheckedNavigableMap of java.util.Collections
  CheckedNavigableSet = java.util.Collections$CheckedNavigableSet of java.util.Collections
  CheckedQueue = java.util.Collections$CheckedQueue of java.util.Collections
  CheckedRandomAccessList = java.util.Collections$CheckedRandomAccessList of java.util.Collections
  CheckedSet = java.util.Collections$CheckedSet of java.util.Collections
  CheckedSortedMap = java.util.Collections$CheckedSortedMap of java.util.Collections
  CheckedSortedSet = java.util.Collections$CheckedSortedSet of java.util.Collections
  private CopiesList = java.util.Collections$CopiesList of java.util.Collections
  private EmptyEnumeration = java.util.Collections$EmptyEnumeration of java.util.Collections
  private EmptyIterator = java.util.Collections$EmptyIterator of java.util.Collections
  private EmptyList = java.util.Collections$EmptyList of java.util.Collections
  private EmptyListIterator = java.util.Collections$EmptyListIterator of java.util.Collections
  private EmptyMap = java.util.Collections$EmptyMap of java.util.Collections
  private EmptySet = java.util.Collections$EmptySet of java.util.Collections
  private ReverseComparator = java.util.Collections$ReverseComparator of java.util.Collections
  private ReverseComparator2 = java.util.Collections$ReverseComparator2 of java.util.Collections
  private SetFromMap = java.util.Collections$SetFromMap of java.util.Collections
  private SingletonList = java.util.Collections$SingletonList of java.util.Collections
  private SingletonMap = java.util.Collections$SingletonMap of java.util.Collections
  private SingletonSet = java.util.Collections$SingletonSet of java.util.Collections
  SynchronizedCollection = java.util.Collections$SynchronizedCollection of java.util.Collections
  SynchronizedList = java.util.Collections$SynchronizedList of java.util.Collections
  private SynchronizedMap = java.util.Collections$SynchronizedMap of java.util.Collections
  SynchronizedNavigableMap = java.util.Collections$SynchronizedNavigableMap of java.util.Collections
  SynchronizedNavigableSet = java.util.Collections$SynchronizedNavigableSet of java.util.Collections
  SynchronizedRandomAccessList = java.util.Collections$SynchronizedRandomAccessList of java.util.Collections
  SynchronizedSet = java.util.Collections$SynchronizedSet of java.util.Collections
  SynchronizedSortedMap = java.util.Collections$SynchronizedSortedMap of java.util.Collections
  SynchronizedSortedSet = java.util.Collections$SynchronizedSortedSet of java.util.Collections
  UnmodifiableCollection = java.util.Collections$UnmodifiableCollection of java.util.Collections
  UnmodifiableList = java.util.Collections$UnmodifiableList of java.util.Collections
  private UnmodifiableMap = java.util.Collections$UnmodifiableMap of java.util.Collections
  UnmodifiableNavigableMap = java.util.Collections$UnmodifiableNavigableMap of java.util.Collections
  UnmodifiableNavigableSet = java.util.Collections$UnmodifiableNavigableSet of java.util.Collections
  UnmodifiableRandomAccessList = java.util.Collections$UnmodifiableRandomAccessList of java.util.Collections
  UnmodifiableSet = java.util.Collections$UnmodifiableSet of java.util.Collections
  UnmodifiableSortedMap = java.util.Collections$UnmodifiableSortedMap of java.util.Collections
  UnmodifiableSortedSet = java.util.Collections$UnmodifiableSortedSet of java.util.Collections