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

  public static <T> void introSort(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=4, locals=3, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.Comparator comp
         0: .line 135
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 136
            iload 2 /* size */
            iconst_1
            if_icmpgt 2
            return
         2: .line 137
      StackMap locals: int
      StackMap stack:
            new org.apache.lucene.util.CollectionUtil$ListIntroSorter
            dup
            aload 0 /* list */
            aload 1 /* comp */
            invokespecial org.apache.lucene.util.CollectionUtil$ListIntroSorter.<init>:(Ljava/util/List;Ljava/util/Comparator;)V
            iconst_0
            iload 2 /* size */
            invokevirtual org.apache.lucene.util.CollectionUtil$ListIntroSorter.sort:(II)V
         3: .line 138
            return
        end local 2 // int size
        end local 1 // java.util.Comparator comp
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TT;>;
            0    4     1  comp  Ljava/util/Comparator<-TT;>;
            1    4     2  size  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      list  
      comp  

  public static <T extends java.lang.Comparable<? super T>> void introSort(java.util.List<T>);
    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 147
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 148
            iload 1 /* size */
            iconst_1
            if_icmpgt 2
            return
         2: .line 149
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            invokestatic org.apache.lucene.util.CollectionUtil.introSort:(Ljava/util/List;Ljava/util/Comparator;)V
         3: .line 150
            return
        end local 1 // int size
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TT;>;
            1    4     1  size  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>(Ljava/util/List<TT;>;)V
    MethodParameters:
      Name  Flags
      list  

  public static <T> void timSort(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=6, locals=3, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.Comparator comp
         0: .line 161
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 162
            iload 2 /* size */
            iconst_1
            if_icmpgt 2
            return
         2: .line 163
      StackMap locals: int
      StackMap stack:
            new org.apache.lucene.util.CollectionUtil$ListTimSorter
            dup
            aload 0 /* list */
            aload 1 /* comp */
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            bipush 64
            idiv
            invokespecial org.apache.lucene.util.CollectionUtil$ListTimSorter.<init>:(Ljava/util/List;Ljava/util/Comparator;I)V
            iconst_0
            iload 2 /* size */
            invokevirtual org.apache.lucene.util.CollectionUtil$ListTimSorter.sort:(II)V
         3: .line 164
            return
        end local 2 // int size
        end local 1 // java.util.Comparator comp
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TT;>;
            0    4     1  comp  Ljava/util/Comparator<-TT;>;
            1    4     2  size  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      list  
      comp  

  public static <T extends java.lang.Comparable<? super T>> void timSort(java.util.List<T>);
    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 173
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 174
            iload 1 /* size */
            iconst_1
            if_icmpgt 2
            return
         2: .line 175
      StackMap locals: int
      StackMap stack:
            aload 0 /* list */
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            invokestatic org.apache.lucene.util.CollectionUtil.timSort:(Ljava/util/List;Ljava/util/Comparator;)V
         3: .line 176
            return
        end local 1 // int size
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  list  Ljava/util/List<TT;>;
            1    4     1  size  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>(Ljava/util/List<TT;>;)V
    MethodParameters:
      Name  Flags
      list  
}
SourceFile: "CollectionUtil.java"
NestMembers:
  org.apache.lucene.util.CollectionUtil$ListIntroSorter  org.apache.lucene.util.CollectionUtil$ListTimSorter
InnerClasses:
  private final ListIntroSorter = org.apache.lucene.util.CollectionUtil$ListIntroSorter of org.apache.lucene.util.CollectionUtil
  private final ListTimSorter = org.apache.lucene.util.CollectionUtil$ListTimSorter of org.apache.lucene.util.CollectionUtil