class org.apache.lucene.search.grouping.SearchGroup$GroupComparator<T> implements java.util.Comparator<org.apache.lucene.search.grouping.SearchGroup$MergedGroup<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.search.grouping.SearchGroup$GroupComparator
  super_class: java.lang.Object
{
  public final org.apache.lucene.search.FieldComparator[] comparators;
    descriptor: [Lorg/apache/lucene/search/FieldComparator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int[] reversed;
    descriptor: [I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 161
            ldc Lorg/apache/lucene/search/grouping/SearchGroup;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.search.grouping.SearchGroup$GroupComparator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.lucene.search.Sort);
    descriptor: (Lorg/apache/lucene/search/Sort;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.lucene.search.grouping.SearchGroup$GroupComparator this
        start local 1 // org.apache.lucene.search.Sort groupSort
         0: .line 169
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 170
            aload 1 /* groupSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 2 /* sortFields */
        start local 2 // org.apache.lucene.search.SortField[] sortFields
         2: .line 171
            aload 0 /* this */
            aload 2 /* sortFields */
            arraylength
            anewarray org.apache.lucene.search.FieldComparator
            putfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.comparators:[Lorg/apache/lucene/search/FieldComparator;
         3: .line 172
            aload 0 /* this */
            aload 2 /* sortFields */
            arraylength
            newarray 10
            putfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.reversed:[I
         4: .line 173
            iconst_0
            istore 3 /* compIDX */
        start local 3 // int compIDX
         5: goto 12
         6: .line 174
      StackMap locals: org.apache.lucene.search.grouping.SearchGroup$GroupComparator org.apache.lucene.search.Sort org.apache.lucene.search.SortField[] int
      StackMap stack:
            aload 2 /* sortFields */
            iload 3 /* compIDX */
            aaload
            astore 4 /* sortField */
        start local 4 // org.apache.lucene.search.SortField sortField
         7: .line 175
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.comparators:[Lorg/apache/lucene/search/FieldComparator;
            iload 3 /* compIDX */
            aload 4 /* sortField */
            iconst_1
            iload 3 /* compIDX */
            invokevirtual org.apache.lucene.search.SortField.getComparator:(II)Lorg/apache/lucene/search/FieldComparator;
            aastore
         8: .line 176
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.reversed:[I
            iload 3 /* compIDX */
            aload 4 /* sortField */
            invokevirtual org.apache.lucene.search.SortField.getReverse:()Z
            ifeq 9
            iconst_m1
            goto 10
      StackMap locals: org.apache.lucene.search.grouping.SearchGroup$GroupComparator org.apache.lucene.search.Sort org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
      StackMap stack: int[] int
         9: iconst_1
      StackMap locals: org.apache.lucene.search.grouping.SearchGroup$GroupComparator org.apache.lucene.search.Sort org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
      StackMap stack: int[] int int
        10: iastore
        end local 4 // org.apache.lucene.search.SortField sortField
        11: .line 173
            iinc 3 /* compIDX */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* compIDX */
            aload 2 /* sortFields */
            arraylength
            if_icmplt 6
        end local 3 // int compIDX
        13: .line 178
            return
        end local 2 // org.apache.lucene.search.SortField[] sortFields
        end local 1 // org.apache.lucene.search.Sort groupSort
        end local 0 // org.apache.lucene.search.grouping.SearchGroup$GroupComparator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/apache/lucene/search/grouping/SearchGroup$GroupComparator<TT;>;
            0   14     1   groupSort  Lorg/apache/lucene/search/Sort;
            2   14     2  sortFields  [Lorg/apache/lucene/search/SortField;
            5   13     3     compIDX  I
            7   11     4   sortField  Lorg/apache/lucene/search/SortField;
    MethodParameters:
           Name  Flags
      groupSort  

  public int compare(org.apache.lucene.search.grouping.SearchGroup$MergedGroup<T>, org.apache.lucene.search.grouping.SearchGroup$MergedGroup<T>);
    descriptor: (Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup;Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.lucene.search.grouping.SearchGroup$GroupComparator this
        start local 1 // org.apache.lucene.search.grouping.SearchGroup$MergedGroup group
        start local 2 // org.apache.lucene.search.grouping.SearchGroup$MergedGroup other
         0: .line 183
            aload 1 /* group */
            aload 2 /* other */
            if_acmpne 2
         1: .line 184
            iconst_0
            ireturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* group */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.topValues:[Ljava/lang/Object;
            astore 3 /* groupValues */
        start local 3 // java.lang.Object[] groupValues
         3: .line 188
            aload 2 /* other */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.topValues:[Ljava/lang/Object;
            astore 4 /* otherValues */
        start local 4 // java.lang.Object[] otherValues
         4: .line 190
            iconst_0
            istore 5 /* compIDX */
        start local 5 // int compIDX
         5: goto 12
         6: .line 191
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.reversed:[I
            iload 5 /* compIDX */
            iaload
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.comparators:[Lorg/apache/lucene/search/FieldComparator;
            iload 5 /* compIDX */
            aaload
            aload 3 /* groupValues */
            iload 5 /* compIDX */
            aaload
         7: .line 192
            aload 4 /* otherValues */
            iload 5 /* compIDX */
            aaload
         8: .line 191
            invokevirtual org.apache.lucene.search.FieldComparator.compareValues:(Ljava/lang/Object;Ljava/lang/Object;)I
            imul
            istore 6 /* c */
        start local 6 // int c
         9: .line 193
            iload 6 /* c */
            ifeq 11
        10: .line 194
            iload 6 /* c */
            ireturn
        end local 6 // int c
        11: .line 190
      StackMap locals:
      StackMap stack:
            iinc 5 /* compIDX */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* compIDX */
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.SearchGroup$GroupComparator.comparators:[Lorg/apache/lucene/search/FieldComparator;
            arraylength
            if_icmplt 6
        end local 5 // int compIDX
        13: .line 199
            getstatic org.apache.lucene.search.grouping.SearchGroup$GroupComparator.$assertionsDisabled:Z
            ifne 14
            aload 1 /* group */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.minShardIndex:I
            aload 2 /* other */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.minShardIndex:I
            if_icmpne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 200
      StackMap locals:
      StackMap stack:
            aload 1 /* group */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.minShardIndex:I
            aload 2 /* other */
            getfield org.apache.lucene.search.grouping.SearchGroup$MergedGroup.minShardIndex:I
            isub
            ireturn
        end local 4 // java.lang.Object[] otherValues
        end local 3 // java.lang.Object[] groupValues
        end local 2 // org.apache.lucene.search.grouping.SearchGroup$MergedGroup other
        end local 1 // org.apache.lucene.search.grouping.SearchGroup$MergedGroup group
        end local 0 // org.apache.lucene.search.grouping.SearchGroup$GroupComparator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/apache/lucene/search/grouping/SearchGroup$GroupComparator<TT;>;
            0   15     1        group  Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup<TT;>;
            0   15     2        other  Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup<TT;>;
            3   15     3  groupValues  [Ljava/lang/Object;
            4   15     4  otherValues  [Ljava/lang/Object;
            5   13     5      compIDX  I
            9   11     6            c  I
    Signature: (Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup<TT;>;Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup<TT;>;)I
    MethodParameters:
       Name  Flags
      group  
      other  

  public int compare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.lucene.search.grouping.SearchGroup$MergedGroup
            aload 2
            checkcast org.apache.lucene.search.grouping.SearchGroup$MergedGroup
            invokevirtual org.apache.lucene.search.grouping.SearchGroup$GroupComparator.compare:(Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup;Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Comparator<Lorg/apache/lucene/search/grouping/SearchGroup$MergedGroup<TT;>;>;
SourceFile: "SearchGroup.java"
NestHost: org.apache.lucene.search.grouping.SearchGroup
InnerClasses:
  private GroupComparator = org.apache.lucene.search.grouping.SearchGroup$GroupComparator of org.apache.lucene.search.grouping.SearchGroup
  private MergedGroup = org.apache.lucene.search.grouping.SearchGroup$MergedGroup of org.apache.lucene.search.grouping.SearchGroup