class org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer<T> extends org.apache.lucene.search.grouping.GroupReducer<T, org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer
  super_class: org.apache.lucene.search.grouping.GroupReducer
{
  private final java.util.function.Supplier<org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector> supplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;>;

  private final boolean needsScores;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.apache.lucene.search.Sort, int, boolean);
    descriptor: (Lorg/apache/lucene/search/Sort;IZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
        start local 1 // org.apache.lucene.search.Sort withinGroupSort
        start local 2 // int maxDocsPerGroup
        start local 3 // boolean getMaxScores
         0: .line 115
            aload 0 /* this */
            invokespecial org.apache.lucene.search.grouping.GroupReducer.<init>:()V
         1: .line 117
            aload 0 /* this */
            iload 3 /* getMaxScores */
            ifne 2
            aload 1 /* withinGroupSort */
            invokevirtual org.apache.lucene.search.Sort.needsScores:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals: org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer org.apache.lucene.search.Sort int int
      StackMap stack: org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer
         2: iconst_1
      StackMap locals: org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer org.apache.lucene.search.Sort int int
      StackMap stack: org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer int
         3: putfield org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.needsScores:Z
         4: .line 118
            aload 1 /* withinGroupSort */
            getstatic org.apache.lucene.search.Sort.RELEVANCE:Lorg/apache/lucene/search/Sort;
            if_acmpne 7
         5: .line 119
            aload 0 /* this */
            iload 2 /* maxDocsPerGroup */
            invokedynamic get(I)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/lucene/search/grouping/TopGroupsCollector$TopDocsReducer.lambda$0(I)Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector; (6)
                  ()Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
            putfield org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.supplier:Ljava/util/function/Supplier;
         6: .line 120
            goto 8
         7: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* withinGroupSort */
            iload 2 /* maxDocsPerGroup */
            iload 3 /* getMaxScores */
            invokedynamic get(Lorg/apache/lucene/search/Sort;IZ)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/lucene/search/grouping/TopGroupsCollector$TopDocsReducer.lambda$1(Lorg/apache/lucene/search/Sort;IZ)Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector; (6)
                  ()Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
            putfield org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.supplier:Ljava/util/function/Supplier;
         8: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean getMaxScores
        end local 2 // int maxDocsPerGroup
        end local 1 // org.apache.lucene.search.Sort withinGroupSort
        end local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsReducer<TT;>;
            0    9     1  withinGroupSort  Lorg/apache/lucene/search/Sort;
            0    9     2  maxDocsPerGroup  I
            0    9     3     getMaxScores  Z
    MethodParameters:
                 Name  Flags
      withinGroupSort  
      maxDocsPerGroup  
      getMaxScores     

  public boolean needsScores();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
         0: .line 131
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.needsScores:Z
            ireturn
        end local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsReducer<TT;>;

  protected org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector newCollector();
    descriptor: ()Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
         0: .line 136
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.supplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector
            areturn
        end local 0 // org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsReducer<TT;>;

  protected org.apache.lucene.search.Collector newCollector();
    descriptor: ()Lorg/apache/lucene/search/Collector;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer.newCollector:()Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector lambda$0(int);
    descriptor: (I)Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 119
            new org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector
            dup
            iconst_1
            iload 0
            ldc 2147483647
            invokestatic org.apache.lucene.search.TopScoreDocCollector.create:(II)Lorg/apache/lucene/search/TopScoreDocCollector;
            aconst_null
            invokespecial org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector.<init>:(ZLorg/apache/lucene/search/TopDocsCollector;Lorg/apache/lucene/search/grouping/TopGroupsCollector$MaxScoreCollector;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector lambda$1(org.apache.lucene.search.Sort, int, boolean);
    descriptor: (Lorg/apache/lucene/search/Sort;IZ)Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=3
         0: .line 122
            aload 0
            iload 1
            ldc 2147483647
            invokestatic org.apache.lucene.search.TopFieldCollector.create:(Lorg/apache/lucene/search/Sort;II)Lorg/apache/lucene/search/TopFieldCollector;
            astore 3 /* topDocsCollector */
        start local 3 // org.apache.lucene.search.TopFieldCollector topDocsCollector
         1: .line 123
            iload 2
            ifeq 2
            new org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector
            dup
            invokespecial org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector.<init>:()V
            goto 3
      StackMap locals: org.apache.lucene.search.TopFieldCollector
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector
         3: astore 4 /* maxScoreCollector */
        start local 4 // org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector maxScoreCollector
         4: .line 124
            new org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector
            dup
            iconst_0
            aload 3 /* topDocsCollector */
            aload 4 /* maxScoreCollector */
            invokespecial org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector.<init>:(ZLorg/apache/lucene/search/TopDocsCollector;Lorg/apache/lucene/search/grouping/TopGroupsCollector$MaxScoreCollector;)V
            areturn
        end local 4 // org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector maxScoreCollector
        end local 3 // org.apache.lucene.search.TopFieldCollector topDocsCollector
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1    5     3   topDocsCollector  Lorg/apache/lucene/search/TopFieldCollector;
            4    5     4  maxScoreCollector  Lorg/apache/lucene/search/grouping/TopGroupsCollector$MaxScoreCollector;
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/lucene/search/grouping/GroupReducer<TT;Lorg/apache/lucene/search/grouping/TopGroupsCollector$TopDocsAndMaxScoreCollector;>;
SourceFile: "TopGroupsCollector.java"
NestHost: org.apache.lucene.search.grouping.TopGroupsCollector
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private MaxScoreCollector = org.apache.lucene.search.grouping.TopGroupsCollector$MaxScoreCollector of org.apache.lucene.search.grouping.TopGroupsCollector
  private TopDocsAndMaxScoreCollector = org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsAndMaxScoreCollector of org.apache.lucene.search.grouping.TopGroupsCollector
  private TopDocsReducer = org.apache.lucene.search.grouping.TopGroupsCollector$TopDocsReducer of org.apache.lucene.search.grouping.TopGroupsCollector