public abstract class org.apache.lucene.search.TopFieldCollector extends org.apache.lucene.search.TopDocsCollector<org.apache.lucene.search.FieldValueHitQueue$Entry>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.search.TopFieldCollector
  super_class: org.apache.lucene.search.TopDocsCollector
{
  private static final org.apache.lucene.search.ScoreDoc[] EMPTY_SCOREDOCS;
    descriptor: [Lorg/apache/lucene/search/ScoreDoc;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final int numHits;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final org.apache.lucene.search.HitsThresholdChecker hitsThresholdChecker;
    descriptor: Lorg/apache/lucene/search/HitsThresholdChecker;
    flags: (0x0010) ACC_FINAL

  final org.apache.lucene.search.FieldComparator$RelevanceComparator relevanceComparator;
    descriptor: Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
    flags: (0x0010) ACC_FINAL

  final boolean canSetMinScore;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final org.apache.lucene.search.MaxScoreAccumulator minScoreAcc;
    descriptor: Lorg/apache/lucene/search/MaxScoreAccumulator;
    flags: (0x0010) ACC_FINAL

  float minCompetitiveScore;
    descriptor: F
    flags: (0x0000) 

  final int numComparators;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  org.apache.lucene.search.FieldValueHitQueue$Entry bottom;
    descriptor: Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
    flags: (0x0000) 

  boolean queueFull;
    descriptor: Z
    flags: (0x0000) 

  int docBase;
    descriptor: I
    flags: (0x0000) 

  final boolean needsScores;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final org.apache.lucene.search.ScoreMode scoreMode;
    descriptor: Lorg/apache/lucene/search/ScoreMode;
    flags: (0x0010) 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 42
            ldc Lorg/apache/lucene/search/TopFieldCollector;
            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.TopFieldCollector.$assertionsDisabled:Z
         3: .line 329
            iconst_0
            anewarray org.apache.lucene.search.ScoreDoc
            putstatic org.apache.lucene.search.TopFieldCollector.EMPTY_SCOREDOCS:[Lorg/apache/lucene/search/ScoreDoc;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean canEarlyTerminate(org.apache.lucene.search.Sort, org.apache.lucene.search.Sort);
    descriptor: (Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.Sort searchSort
        start local 1 // org.apache.lucene.search.Sort indexSort
         0: .line 73
            aload 0 /* searchSort */
            invokestatic org.apache.lucene.search.TopFieldCollector.canEarlyTerminateOnDocId:(Lorg/apache/lucene/search/Sort;)Z
            ifne 3
         1: .line 74
            aload 0 /* searchSort */
            aload 1 /* indexSort */
            invokestatic org.apache.lucene.search.TopFieldCollector.canEarlyTerminateOnPrefix:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
            ifne 3
         2: .line 73
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.apache.lucene.search.Sort indexSort
        end local 0 // org.apache.lucene.search.Sort searchSort
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  searchSort  Lorg/apache/lucene/search/Sort;
            0    4     1   indexSort  Lorg/apache/lucene/search/Sort;
    MethodParameters:
            Name  Flags
      searchSort  
      indexSort   

  private static boolean canEarlyTerminateOnDocId(org.apache.lucene.search.Sort);
    descriptor: (Lorg/apache/lucene/search/Sort;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.lucene.search.Sort searchSort
         0: .line 78
            aload 0 /* searchSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 1 /* fields1 */
        start local 1 // org.apache.lucene.search.SortField[] fields1
         1: .line 79
            getstatic org.apache.lucene.search.SortField.FIELD_DOC:Lorg/apache/lucene/search/SortField;
            aload 1 /* fields1 */
            iconst_0
            aaload
            invokevirtual org.apache.lucene.search.SortField.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.apache.lucene.search.SortField[] fields1
        end local 0 // org.apache.lucene.search.Sort searchSort
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  searchSort  Lorg/apache/lucene/search/Sort;
            1    2     1     fields1  [Lorg/apache/lucene/search/SortField;
    MethodParameters:
            Name  Flags
      searchSort  

  private static boolean canEarlyTerminateOnPrefix(org.apache.lucene.search.Sort, org.apache.lucene.search.Sort);
    descriptor: (Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.lucene.search.Sort searchSort
        start local 1 // org.apache.lucene.search.Sort indexSort
         0: .line 83
            aload 1 /* indexSort */
            ifnull 6
         1: .line 84
            aload 0 /* searchSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 2 /* fields1 */
        start local 2 // org.apache.lucene.search.SortField[] fields1
         2: .line 85
            aload 1 /* indexSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 3 /* fields2 */
        start local 3 // org.apache.lucene.search.SortField[] fields2
         3: .line 87
            aload 2 /* fields1 */
            arraylength
            aload 3 /* fields2 */
            arraylength
            if_icmple 5
         4: .line 88
            iconst_0
            ireturn
         5: .line 90
      StackMap locals: org.apache.lucene.search.SortField[] org.apache.lucene.search.SortField[]
      StackMap stack:
            aload 2 /* fields1 */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* fields2 */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            iconst_0
            aload 2 /* fields1 */
            arraylength
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // org.apache.lucene.search.SortField[] fields2
        end local 2 // org.apache.lucene.search.SortField[] fields1
         6: .line 92
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.search.Sort indexSort
        end local 0 // org.apache.lucene.search.Sort searchSort
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  searchSort  Lorg/apache/lucene/search/Sort;
            0    7     1   indexSort  Lorg/apache/lucene/search/Sort;
            2    6     2     fields1  [Lorg/apache/lucene/search/SortField;
            3    6     3     fields2  [Lorg/apache/lucene/search/SortField;
    MethodParameters:
            Name  Flags
      searchSort  
      indexSort   

  private void <init>(org.apache.lucene.search.FieldValueHitQueue<org.apache.lucene.search.FieldValueHitQueue$Entry>, int, org.apache.lucene.search.HitsThresholdChecker, boolean, org.apache.lucene.search.MaxScoreAccumulator);
    descriptor: (Lorg/apache/lucene/search/FieldValueHitQueue;ILorg/apache/lucene/search/HitsThresholdChecker;ZLorg/apache/lucene/search/MaxScoreAccumulator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=6
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // org.apache.lucene.search.FieldValueHitQueue pq
        start local 2 // int numHits
        start local 3 // org.apache.lucene.search.HitsThresholdChecker hitsThresholdChecker
        start local 4 // boolean needsScores
        start local 5 // org.apache.lucene.search.MaxScoreAccumulator minScoreAcc
         0: .line 356
            aload 0 /* this */
            aload 1 /* pq */
            invokespecial org.apache.lucene.search.TopDocsCollector.<init>:(Lorg/apache/lucene/util/PriorityQueue;)V
         1: .line 342
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
         2: .line 357
            aload 0 /* this */
            iload 4 /* needsScores */
            putfield org.apache.lucene.search.TopFieldCollector.needsScores:Z
         3: .line 358
            aload 0 /* this */
            iload 2 /* numHits */
            putfield org.apache.lucene.search.TopFieldCollector.numHits:I
         4: .line 359
            aload 0 /* this */
            aload 3 /* hitsThresholdChecker */
            putfield org.apache.lucene.search.TopFieldCollector.hitsThresholdChecker:Lorg/apache/lucene/search/HitsThresholdChecker;
         5: .line 360
            aload 0 /* this */
            aload 1 /* pq */
            invokevirtual org.apache.lucene.search.FieldValueHitQueue.getComparators:()[Lorg/apache/lucene/search/FieldComparator;
            arraylength
            putfield org.apache.lucene.search.TopFieldCollector.numComparators:I
         6: .line 361
            aload 1 /* pq */
            invokevirtual org.apache.lucene.search.FieldValueHitQueue.getComparators:()[Lorg/apache/lucene/search/FieldComparator;
            iconst_0
            aaload
            astore 6 /* firstComparator */
        start local 6 // org.apache.lucene.search.FieldComparator firstComparator
         7: .line 362
            aload 1 /* pq */
            getfield org.apache.lucene.search.FieldValueHitQueue.reverseMul:[I
            iconst_0
            iaload
            istore 7 /* reverseMul */
        start local 7 // int reverseMul
         8: .line 364
            aload 6 /* firstComparator */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
         9: .line 365
            iload 7 /* reverseMul */
            iconst_1
            if_icmpne 15
        10: .line 366
            aload 3 /* hitsThresholdChecker */
            invokevirtual org.apache.lucene.search.HitsThresholdChecker.getHitsThreshold:()I
            ldc 2147483647
            if_icmpeq 15
        11: .line 367
            aload 0 /* this */
            aload 6 /* firstComparator */
            checkcast org.apache.lucene.search.FieldComparator$RelevanceComparator
            putfield org.apache.lucene.search.TopFieldCollector.relevanceComparator:Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
        12: .line 368
            aload 0 /* this */
            getstatic org.apache.lucene.search.ScoreMode.TOP_SCORES:Lorg/apache/lucene/search/ScoreMode;
            putfield org.apache.lucene.search.TopFieldCollector.scoreMode:Lorg/apache/lucene/search/ScoreMode;
        13: .line 369
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.search.TopFieldCollector.canSetMinScore:Z
        14: .line 370
            goto 25
        15: .line 371
      StackMap locals: org.apache.lucene.search.TopFieldCollector org.apache.lucene.search.FieldValueHitQueue int org.apache.lucene.search.HitsThresholdChecker int org.apache.lucene.search.MaxScoreAccumulator org.apache.lucene.search.FieldComparator int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.search.TopFieldCollector.relevanceComparator:Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
        16: .line 372
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.search.TopFieldCollector.canSetMinScore:Z
        17: .line 373
            aload 3 /* hitsThresholdChecker */
            invokevirtual org.apache.lucene.search.HitsThresholdChecker.getHitsThreshold:()I
            ldc 2147483647
            if_icmpeq 22
        18: .line 374
            aload 0 /* this */
            iload 4 /* needsScores */
            ifeq 19
            getstatic org.apache.lucene.search.ScoreMode.TOP_DOCS_WITH_SCORES:Lorg/apache/lucene/search/ScoreMode;
            goto 20
      StackMap locals:
      StackMap stack: org.apache.lucene.search.TopFieldCollector
        19: getstatic org.apache.lucene.search.ScoreMode.TOP_DOCS:Lorg/apache/lucene/search/ScoreMode;
      StackMap locals: org.apache.lucene.search.TopFieldCollector org.apache.lucene.search.FieldValueHitQueue int org.apache.lucene.search.HitsThresholdChecker int org.apache.lucene.search.MaxScoreAccumulator org.apache.lucene.search.FieldComparator int
      StackMap stack: org.apache.lucene.search.TopFieldCollector org.apache.lucene.search.ScoreMode
        20: putfield org.apache.lucene.search.TopFieldCollector.scoreMode:Lorg/apache/lucene/search/ScoreMode;
        21: .line 375
            goto 25
        22: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* needsScores */
            ifeq 23
            getstatic org.apache.lucene.search.ScoreMode.COMPLETE:Lorg/apache/lucene/search/ScoreMode;
            goto 24
      StackMap locals:
      StackMap stack: org.apache.lucene.search.TopFieldCollector
        23: getstatic org.apache.lucene.search.ScoreMode.COMPLETE_NO_SCORES:Lorg/apache/lucene/search/ScoreMode;
      StackMap locals: org.apache.lucene.search.TopFieldCollector org.apache.lucene.search.FieldValueHitQueue int org.apache.lucene.search.HitsThresholdChecker int org.apache.lucene.search.MaxScoreAccumulator org.apache.lucene.search.FieldComparator int
      StackMap stack: org.apache.lucene.search.TopFieldCollector org.apache.lucene.search.ScoreMode
        24: putfield org.apache.lucene.search.TopFieldCollector.scoreMode:Lorg/apache/lucene/search/ScoreMode;
        25: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* minScoreAcc */
            putfield org.apache.lucene.search.TopFieldCollector.minScoreAcc:Lorg/apache/lucene/search/MaxScoreAccumulator;
        26: .line 380
            return
        end local 7 // int reverseMul
        end local 6 // org.apache.lucene.search.FieldComparator firstComparator
        end local 5 // org.apache.lucene.search.MaxScoreAccumulator minScoreAcc
        end local 4 // boolean needsScores
        end local 3 // org.apache.lucene.search.HitsThresholdChecker hitsThresholdChecker
        end local 2 // int numHits
        end local 1 // org.apache.lucene.search.FieldValueHitQueue pq
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/apache/lucene/search/TopFieldCollector;
            0   27     1                    pq  Lorg/apache/lucene/search/FieldValueHitQueue<Lorg/apache/lucene/search/FieldValueHitQueue$Entry;>;
            0   27     2               numHits  I
            0   27     3  hitsThresholdChecker  Lorg/apache/lucene/search/HitsThresholdChecker;
            0   27     4           needsScores  Z
            0   27     5           minScoreAcc  Lorg/apache/lucene/search/MaxScoreAccumulator;
            7   27     6       firstComparator  Lorg/apache/lucene/search/FieldComparator<*>;
            8   27     7            reverseMul  I
    Signature: (Lorg/apache/lucene/search/FieldValueHitQueue<Lorg/apache/lucene/search/FieldValueHitQueue$Entry;>;ILorg/apache/lucene/search/HitsThresholdChecker;ZLorg/apache/lucene/search/MaxScoreAccumulator;)V
    MethodParameters:
                      Name  Flags
      pq                    
      numHits               
      hitsThresholdChecker  
      needsScores           
      minScoreAcc           

  public org.apache.lucene.search.ScoreMode scoreMode();
    descriptor: ()Lorg/apache/lucene/search/ScoreMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TopFieldCollector this
         0: .line 384
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.scoreMode:Lorg/apache/lucene/search/ScoreMode;
            areturn
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/TopFieldCollector;

  protected void updateGlobalMinCompetitiveScore(org.apache.lucene.search.Scorable);
    descriptor: (Lorg/apache/lucene/search/Scorable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // org.apache.lucene.search.Scorable scorer
         0: .line 388
            getstatic org.apache.lucene.search.TopFieldCollector.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minScoreAcc:Lorg/apache/lucene/search/MaxScoreAccumulator;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.canSetMinScore:Z
            ifeq 8
         2: .line 390
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.hitsThresholdChecker:Lorg/apache/lucene/search/HitsThresholdChecker;
            invokevirtual org.apache.lucene.search.HitsThresholdChecker.isThresholdReached:()Z
            ifeq 8
         3: .line 394
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minScoreAcc:Lorg/apache/lucene/search/MaxScoreAccumulator;
            invokevirtual org.apache.lucene.search.MaxScoreAccumulator.get:()Lorg/apache/lucene/search/MaxScoreAccumulator$DocAndScore;
            astore 2 /* maxMinScore */
        start local 2 // org.apache.lucene.search.MaxScoreAccumulator$DocAndScore maxMinScore
         4: .line 395
            aload 2 /* maxMinScore */
            ifnull 8
            aload 2 /* maxMinScore */
            getfield org.apache.lucene.search.MaxScoreAccumulator$DocAndScore.score:F
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minCompetitiveScore:F
            fcmpl
            ifle 8
         5: .line 396
            aload 1 /* scorer */
            aload 2 /* maxMinScore */
            getfield org.apache.lucene.search.MaxScoreAccumulator$DocAndScore.score:F
            invokevirtual org.apache.lucene.search.Scorable.setMinCompetitiveScore:(F)V
         6: .line 397
            aload 0 /* this */
            aload 2 /* maxMinScore */
            getfield org.apache.lucene.search.MaxScoreAccumulator$DocAndScore.score:F
            putfield org.apache.lucene.search.TopFieldCollector.minCompetitiveScore:F
         7: .line 398
            aload 0 /* this */
            getstatic org.apache.lucene.search.TotalHits$Relation.GREATER_THAN_OR_EQUAL_TO:Lorg/apache/lucene/search/TotalHits$Relation;
            putfield org.apache.lucene.search.TopFieldCollector.totalHitsRelation:Lorg/apache/lucene/search/TotalHits$Relation;
        end local 2 // org.apache.lucene.search.MaxScoreAccumulator$DocAndScore maxMinScore
         8: .line 401
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.search.Scorable scorer
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/apache/lucene/search/TopFieldCollector;
            0    9     1       scorer  Lorg/apache/lucene/search/Scorable;
            4    8     2  maxMinScore  Lorg/apache/lucene/search/MaxScoreAccumulator$DocAndScore;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      scorer  

  protected void updateMinCompetitiveScore(org.apache.lucene.search.Scorable);
    descriptor: (Lorg/apache/lucene/search/Scorable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // org.apache.lucene.search.Scorable scorer
         0: .line 404
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.canSetMinScore:Z
            ifeq 12
         1: .line 405
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.queueFull:Z
            ifeq 12
         2: .line 406
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.hitsThresholdChecker:Lorg/apache/lucene/search/HitsThresholdChecker;
            invokevirtual org.apache.lucene.search.HitsThresholdChecker.isThresholdReached:()Z
            ifeq 12
         3: .line 407
            getstatic org.apache.lucene.search.TopFieldCollector.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
            ifnull 4
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.relevanceComparator:Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
            ifnonnull 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.relevanceComparator:Lorg/apache/lucene/search/FieldComparator$RelevanceComparator;
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
            getfield org.apache.lucene.search.FieldValueHitQueue$Entry.slot:I
            invokevirtual org.apache.lucene.search.FieldComparator$RelevanceComparator.value:(I)Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
            fstore 2 /* minScore */
        start local 2 // float minScore
         6: .line 409
            fload 2 /* minScore */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minCompetitiveScore:F
            fcmpl
            ifle 12
         7: .line 410
            aload 1 /* scorer */
            fload 2 /* minScore */
            invokevirtual org.apache.lucene.search.Scorable.setMinCompetitiveScore:(F)V
         8: .line 411
            aload 0 /* this */
            fload 2 /* minScore */
            putfield org.apache.lucene.search.TopFieldCollector.minCompetitiveScore:F
         9: .line 412
            aload 0 /* this */
            getstatic org.apache.lucene.search.TotalHits$Relation.GREATER_THAN_OR_EQUAL_TO:Lorg/apache/lucene/search/TotalHits$Relation;
            putfield org.apache.lucene.search.TopFieldCollector.totalHitsRelation:Lorg/apache/lucene/search/TotalHits$Relation;
        10: .line 413
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minScoreAcc:Lorg/apache/lucene/search/MaxScoreAccumulator;
            ifnull 12
        11: .line 414
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.minScoreAcc:Lorg/apache/lucene/search/MaxScoreAccumulator;
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
            getfield org.apache.lucene.search.FieldValueHitQueue$Entry.doc:I
            fload 2 /* minScore */
            invokevirtual org.apache.lucene.search.MaxScoreAccumulator.accumulate:(IF)V
        end local 2 // float minScore
        12: .line 418
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.search.Scorable scorer
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/lucene/search/TopFieldCollector;
            0   13     1    scorer  Lorg/apache/lucene/search/Scorable;
            6   12     2  minScore  F
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      scorer  

  public static org.apache.lucene.search.TopFieldCollector create(org.apache.lucene.search.Sort, int, int);
    descriptor: (Lorg/apache/lucene/search/Sort;II)Lorg/apache/lucene/search/TopFieldCollector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.Sort sort
        start local 1 // int numHits
        start local 2 // int totalHitsThreshold
         0: .line 444
            aload 0 /* sort */
            iload 1 /* numHits */
            aconst_null
            iload 2 /* totalHitsThreshold */
            invokestatic org.apache.lucene.search.TopFieldCollector.create:(Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;I)Lorg/apache/lucene/search/TopFieldCollector;
            areturn
        end local 2 // int totalHitsThreshold
        end local 1 // int numHits
        end local 0 // org.apache.lucene.search.Sort sort
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                sort  Lorg/apache/lucene/search/Sort;
            0    1     1             numHits  I
            0    1     2  totalHitsThreshold  I
    MethodParameters:
                    Name  Flags
      sort                
      numHits             
      totalHitsThreshold  

  public static org.apache.lucene.search.TopFieldCollector create(org.apache.lucene.search.Sort, int, org.apache.lucene.search.FieldDoc, int);
    descriptor: (Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;I)Lorg/apache/lucene/search/TopFieldCollector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.search.Sort sort
        start local 1 // int numHits
        start local 2 // org.apache.lucene.search.FieldDoc after
        start local 3 // int totalHitsThreshold
         0: .line 477
            iload 3 /* totalHitsThreshold */
            ifge 2
         1: .line 478
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "totalHitsThreshold must be >= 0, got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* totalHitsThreshold */
            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 481
      StackMap locals:
      StackMap stack:
            aload 0 /* sort */
            iload 1 /* numHits */
            aload 2 /* after */
            iload 3 /* totalHitsThreshold */
            iload 1 /* numHits */
            invokestatic java.lang.Math.max:(II)I
            invokestatic org.apache.lucene.search.HitsThresholdChecker.create:(I)Lorg/apache/lucene/search/HitsThresholdChecker;
            aconst_null
            invokestatic org.apache.lucene.search.TopFieldCollector.create:(Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;Lorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)Lorg/apache/lucene/search/TopFieldCollector;
            areturn
        end local 3 // int totalHitsThreshold
        end local 2 // org.apache.lucene.search.FieldDoc after
        end local 1 // int numHits
        end local 0 // org.apache.lucene.search.Sort sort
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                sort  Lorg/apache/lucene/search/Sort;
            0    3     1             numHits  I
            0    3     2               after  Lorg/apache/lucene/search/FieldDoc;
            0    3     3  totalHitsThreshold  I
    MethodParameters:
                    Name  Flags
      sort                
      numHits             
      after               
      totalHitsThreshold  

  static org.apache.lucene.search.TopFieldCollector create(org.apache.lucene.search.Sort, int, org.apache.lucene.search.FieldDoc, org.apache.lucene.search.HitsThresholdChecker, org.apache.lucene.search.MaxScoreAccumulator);
    descriptor: (Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;Lorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)Lorg/apache/lucene/search/TopFieldCollector;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.apache.lucene.search.Sort sort
        start local 1 // int numHits
        start local 2 // org.apache.lucene.search.FieldDoc after
        start local 3 // org.apache.lucene.search.HitsThresholdChecker hitsThresholdChecker
        start local 4 // org.apache.lucene.search.MaxScoreAccumulator minScoreAcc
         0: .line 490
            aload 0 /* sort */
            getfield org.apache.lucene.search.Sort.fields:[Lorg/apache/lucene/search/SortField;
            arraylength
            ifne 2
         1: .line 491
            new java.lang.IllegalArgumentException
            dup
            ldc "Sort must contain at least one field"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 494
      StackMap locals:
      StackMap stack:
            iload 1 /* numHits */
            ifgt 4
         3: .line 495
            new java.lang.IllegalArgumentException
            dup
            ldc "numHits must be > 0; please use TotalHitCountCollector if you just need the total hit count"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 498
      StackMap locals:
      StackMap stack:
            aload 3 /* hitsThresholdChecker */
            ifnonnull 6
         5: .line 499
            new java.lang.IllegalArgumentException
            dup
            ldc "hitsThresholdChecker should not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* sort */
            getfield org.apache.lucene.search.Sort.fields:[Lorg/apache/lucene/search/SortField;
            iload 1 /* numHits */
            invokestatic org.apache.lucene.search.FieldValueHitQueue.create:([Lorg/apache/lucene/search/SortField;I)Lorg/apache/lucene/search/FieldValueHitQueue;
            astore 5 /* queue */
        start local 5 // org.apache.lucene.search.FieldValueHitQueue queue
         7: .line 505
            aload 2 /* after */
            ifnonnull 9
         8: .line 506
            new org.apache.lucene.search.TopFieldCollector$SimpleFieldCollector
            dup
            aload 0 /* sort */
            aload 5 /* queue */
            iload 1 /* numHits */
            aload 3 /* hitsThresholdChecker */
            aload 4 /* minScoreAcc */
            invokespecial org.apache.lucene.search.TopFieldCollector$SimpleFieldCollector.<init>:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/FieldValueHitQueue;ILorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)V
            areturn
         9: .line 508
      StackMap locals: org.apache.lucene.search.FieldValueHitQueue
      StackMap stack:
            aload 2 /* after */
            getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
            ifnonnull 11
        10: .line 509
            new java.lang.IllegalArgumentException
            dup
            ldc "after.fields wasn't set; you must pass fillFields=true for the previous search"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* after */
            getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
            arraylength
            aload 0 /* sort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            arraylength
            if_icmpeq 13
        12: .line 513
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "after.fields has "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* after */
            getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " values but sort has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* sort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            arraylength
            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
        13: .line 516
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.search.TopFieldCollector$PagingFieldCollector
            dup
            aload 0 /* sort */
            aload 5 /* queue */
            aload 2 /* after */
            iload 1 /* numHits */
            aload 3 /* hitsThresholdChecker */
            aload 4 /* minScoreAcc */
            invokespecial org.apache.lucene.search.TopFieldCollector$PagingFieldCollector.<init>:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/FieldValueHitQueue;Lorg/apache/lucene/search/FieldDoc;ILorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)V
            areturn
        end local 5 // org.apache.lucene.search.FieldValueHitQueue queue
        end local 4 // org.apache.lucene.search.MaxScoreAccumulator minScoreAcc
        end local 3 // org.apache.lucene.search.HitsThresholdChecker hitsThresholdChecker
        end local 2 // org.apache.lucene.search.FieldDoc after
        end local 1 // int numHits
        end local 0 // org.apache.lucene.search.Sort sort
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0                  sort  Lorg/apache/lucene/search/Sort;
            0   14     1               numHits  I
            0   14     2                 after  Lorg/apache/lucene/search/FieldDoc;
            0   14     3  hitsThresholdChecker  Lorg/apache/lucene/search/HitsThresholdChecker;
            0   14     4           minScoreAcc  Lorg/apache/lucene/search/MaxScoreAccumulator;
            7   14     5                 queue  Lorg/apache/lucene/search/FieldValueHitQueue<Lorg/apache/lucene/search/FieldValueHitQueue$Entry;>;
    MethodParameters:
                      Name  Flags
      sort                  
      numHits               
      after                 
      hitsThresholdChecker  
      minScoreAcc           

  public static org.apache.lucene.search.CollectorManager<org.apache.lucene.search.TopFieldCollector, org.apache.lucene.search.TopFieldDocs> createSharedManager(org.apache.lucene.search.Sort, int, org.apache.lucene.search.FieldDoc, int);
    descriptor: (Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;I)Lorg/apache/lucene/search/CollectorManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.lucene.search.Sort sort
        start local 1 // int numHits
        start local 2 // org.apache.lucene.search.FieldDoc after
        start local 3 // int totalHitsThreshold
         0: .line 527
            new org.apache.lucene.search.TopFieldCollector$1
            dup
            iload 3 /* totalHitsThreshold */
            iload 1 /* numHits */
            aload 0 /* sort */
            aload 2 /* after */
            invokespecial org.apache.lucene.search.TopFieldCollector$1.<init>:(IILorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/FieldDoc;)V
            areturn
        end local 3 // int totalHitsThreshold
        end local 2 // org.apache.lucene.search.FieldDoc after
        end local 1 // int numHits
        end local 0 // org.apache.lucene.search.Sort sort
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                sort  Lorg/apache/lucene/search/Sort;
            0    1     1             numHits  I
            0    1     2               after  Lorg/apache/lucene/search/FieldDoc;
            0    1     3  totalHitsThreshold  I
    Signature: (Lorg/apache/lucene/search/Sort;ILorg/apache/lucene/search/FieldDoc;I)Lorg/apache/lucene/search/CollectorManager<Lorg/apache/lucene/search/TopFieldCollector;Lorg/apache/lucene/search/TopFieldDocs;>;
    MethodParameters:
                    Name  Flags
      sort                
      numHits             
      after               
      totalHitsThreshold  

  public static void populateScores(org.apache.lucene.search.ScoreDoc[], org.apache.lucene.search.IndexSearcher, org.apache.lucene.search.Query);
    descriptor: ([Lorg/apache/lucene/search/ScoreDoc;Lorg/apache/lucene/search/IndexSearcher;Lorg/apache/lucene/search/Query;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.apache.lucene.search.ScoreDoc[] topDocs
        start local 1 // org.apache.lucene.search.IndexSearcher searcher
        start local 2 // org.apache.lucene.search.Query query
         0: .line 560
            aload 0 /* topDocs */
            invokevirtual org.apache.lucene.search.ScoreDoc[].clone:()Ljava/lang/Object;
            checkcast org.apache.lucene.search.ScoreDoc[]
            astore 0 /* topDocs */
         1: .line 561
            aload 0 /* topDocs */
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              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;)I
                  org/apache/lucene/search/TopFieldCollector.lambda$0(Lorg/apache/lucene/search/ScoreDoc;)I (6)
                  (Lorg/apache/lucene/search/ScoreDoc;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         2: .line 563
            aload 1 /* searcher */
            aload 1 /* searcher */
            aload 2 /* query */
            invokevirtual org.apache.lucene.search.IndexSearcher.rewrite:(Lorg/apache/lucene/search/Query;)Lorg/apache/lucene/search/Query;
            getstatic org.apache.lucene.search.ScoreMode.COMPLETE:Lorg/apache/lucene/search/ScoreMode;
            fconst_1
            invokevirtual org.apache.lucene.search.IndexSearcher.createWeight:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/ScoreMode;F)Lorg/apache/lucene/search/Weight;
            astore 3 /* weight */
        start local 3 // org.apache.lucene.search.Weight weight
         3: .line 564
            aload 1 /* searcher */
            invokevirtual org.apache.lucene.search.IndexSearcher.getIndexReader:()Lorg/apache/lucene/index/IndexReader;
            invokevirtual org.apache.lucene.index.IndexReader.leaves:()Ljava/util/List;
            astore 4 /* contexts */
        start local 4 // java.util.List contexts
         4: .line 565
            aconst_null
            astore 5 /* currentContext */
        start local 5 // org.apache.lucene.index.LeafReaderContext currentContext
         5: .line 566
            aconst_null
            astore 6 /* currentScorer */
        start local 6 // org.apache.lucene.search.Scorer currentScorer
         6: .line 567
            aload 0 /* topDocs */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 23
      StackMap locals: org.apache.lucene.search.ScoreDoc[] org.apache.lucene.search.IndexSearcher org.apache.lucene.search.Query org.apache.lucene.search.Weight java.util.List org.apache.lucene.index.LeafReaderContext org.apache.lucene.search.Scorer top int int org.apache.lucene.search.ScoreDoc[]
      StackMap stack:
         7: aload 10
            iload 8
            aaload
            astore 7 /* scoreDoc */
        start local 7 // org.apache.lucene.search.ScoreDoc scoreDoc
         8: .line 568
            aload 5 /* currentContext */
            ifnull 9
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            aload 5 /* currentContext */
            getfield org.apache.lucene.index.LeafReaderContext.docBase:I
            aload 5 /* currentContext */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            invokevirtual org.apache.lucene.index.LeafReader.maxDoc:()I
            iadd
            if_icmplt 16
         9: .line 569
      StackMap locals: org.apache.lucene.search.ScoreDoc[] org.apache.lucene.search.IndexSearcher org.apache.lucene.search.Query org.apache.lucene.search.Weight java.util.List org.apache.lucene.index.LeafReaderContext org.apache.lucene.search.Scorer org.apache.lucene.search.ScoreDoc int int org.apache.lucene.search.ScoreDoc[]
      StackMap stack:
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            aload 1 /* searcher */
            invokevirtual org.apache.lucene.search.IndexSearcher.getIndexReader:()Lorg/apache/lucene/index/IndexReader;
            invokevirtual org.apache.lucene.index.IndexReader.maxDoc:()I
            invokestatic org.apache.lucene.util.FutureObjects.checkIndex:(II)I
            pop
        10: .line 570
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            aload 4 /* contexts */
            invokestatic org.apache.lucene.index.ReaderUtil.subIndex:(ILjava/util/List;)I
            istore 11 /* newContextIndex */
        start local 11 // int newContextIndex
        11: .line 571
            aload 4 /* contexts */
            iload 11 /* newContextIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.LeafReaderContext
            astore 5 /* currentContext */
        12: .line 572
            aload 3 /* weight */
            aload 5 /* currentContext */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            astore 12 /* scorerSupplier */
        start local 12 // org.apache.lucene.search.ScorerSupplier scorerSupplier
        13: .line 573
            aload 12 /* scorerSupplier */
            ifnonnull 15
        14: .line 574
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Doc id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " doesn't match the query"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 576
      StackMap locals: int org.apache.lucene.search.ScorerSupplier
      StackMap stack:
            aload 12 /* scorerSupplier */
            lconst_1
            invokevirtual org.apache.lucene.search.ScorerSupplier.get:(J)Lorg/apache/lucene/search/Scorer;
            astore 6 /* currentScorer */
        end local 12 // org.apache.lucene.search.ScorerSupplier scorerSupplier
        end local 11 // int newContextIndex
        16: .line 578
      StackMap locals:
      StackMap stack:
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            aload 5 /* currentContext */
            getfield org.apache.lucene.index.LeafReaderContext.docBase:I
            isub
            istore 11 /* leafDoc */
        start local 11 // int leafDoc
        17: .line 579
            getstatic org.apache.lucene.search.TopFieldCollector.$assertionsDisabled:Z
            ifne 18
            iload 11 /* leafDoc */
            ifge 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 580
      StackMap locals: int
      StackMap stack:
            aload 6 /* currentScorer */
            invokevirtual org.apache.lucene.search.Scorer.iterator:()Lorg/apache/lucene/search/DocIdSetIterator;
            iload 11 /* leafDoc */
            invokevirtual org.apache.lucene.search.DocIdSetIterator.advance:(I)I
            istore 12 /* advanced */
        start local 12 // int advanced
        19: .line 581
            iload 11 /* leafDoc */
            iload 12 /* advanced */
            if_icmpeq 21
        20: .line 582
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Doc id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " doesn't match the query"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 584
      StackMap locals: int
      StackMap stack:
            aload 7 /* scoreDoc */
            aload 6 /* currentScorer */
            invokevirtual org.apache.lucene.search.Scorer.score:()F
            putfield org.apache.lucene.search.ScoreDoc.score:F
        end local 12 // int advanced
        end local 11 // int leafDoc
        end local 7 // org.apache.lucene.search.ScoreDoc scoreDoc
        22: .line 567
            iinc 8 1
      StackMap locals: org.apache.lucene.search.ScoreDoc[] org.apache.lucene.search.IndexSearcher org.apache.lucene.search.Query org.apache.lucene.search.Weight java.util.List org.apache.lucene.index.LeafReaderContext org.apache.lucene.search.Scorer top int int org.apache.lucene.search.ScoreDoc[]
      StackMap stack:
        23: iload 8
            iload 9
            if_icmplt 7
        24: .line 586
            return
        end local 6 // org.apache.lucene.search.Scorer currentScorer
        end local 5 // org.apache.lucene.index.LeafReaderContext currentContext
        end local 4 // java.util.List contexts
        end local 3 // org.apache.lucene.search.Weight weight
        end local 2 // org.apache.lucene.search.Query query
        end local 1 // org.apache.lucene.search.IndexSearcher searcher
        end local 0 // org.apache.lucene.search.ScoreDoc[] topDocs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0          topDocs  [Lorg/apache/lucene/search/ScoreDoc;
            0   25     1         searcher  Lorg/apache/lucene/search/IndexSearcher;
            0   25     2            query  Lorg/apache/lucene/search/Query;
            3   25     3           weight  Lorg/apache/lucene/search/Weight;
            4   25     4         contexts  Ljava/util/List<Lorg/apache/lucene/index/LeafReaderContext;>;
            5   25     5   currentContext  Lorg/apache/lucene/index/LeafReaderContext;
            6   25     6    currentScorer  Lorg/apache/lucene/search/Scorer;
            8   22     7         scoreDoc  Lorg/apache/lucene/search/ScoreDoc;
           11   16    11  newContextIndex  I
           13   16    12   scorerSupplier  Lorg/apache/lucene/search/ScorerSupplier;
           17   22    11          leafDoc  I
           19   22    12         advanced  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      topDocs   
      searcher  
      query     

  final void add(int, int);
    descriptor: (II)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // int slot
        start local 2 // int doc
         0: .line 589
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.pq:Lorg/apache/lucene/util/PriorityQueue;
            new org.apache.lucene.search.FieldValueHitQueue$Entry
            dup
            iload 1 /* slot */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.docBase:I
            iload 2 /* doc */
            iadd
            invokespecial org.apache.lucene.search.FieldValueHitQueue$Entry.<init>:(II)V
            invokevirtual org.apache.lucene.util.PriorityQueue.add:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.search.FieldValueHitQueue$Entry
            putfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
         1: .line 590
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.totalHits:I
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.numHits:I
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.apache.lucene.search.TopFieldCollector
         2: iconst_0
      StackMap locals: org.apache.lucene.search.TopFieldCollector int int
      StackMap stack: org.apache.lucene.search.TopFieldCollector int
         3: putfield org.apache.lucene.search.TopFieldCollector.queueFull:Z
         4: .line 591
            return
        end local 2 // int doc
        end local 1 // int slot
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/search/TopFieldCollector;
            0    5     1  slot  I
            0    5     2   doc  I
    MethodParameters:
      Name  Flags
      slot  
      doc   

  final void updateBottom(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // int doc
         0: .line 595
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.docBase:I
            iload 1 /* doc */
            iadd
            putfield org.apache.lucene.search.FieldValueHitQueue$Entry.doc:I
         1: .line 596
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.pq:Lorg/apache/lucene/util/PriorityQueue;
            invokevirtual org.apache.lucene.util.PriorityQueue.updateTop:()Ljava/lang/Object;
            checkcast org.apache.lucene.search.FieldValueHitQueue$Entry
            putfield org.apache.lucene.search.TopFieldCollector.bottom:Lorg/apache/lucene/search/FieldValueHitQueue$Entry;
         2: .line 597
            return
        end local 1 // int doc
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/search/TopFieldCollector;
            0    3     1   doc  I
    MethodParameters:
      Name  Flags
      doc   

  protected void populateResults(org.apache.lucene.search.ScoreDoc[], int);
    descriptor: ([Lorg/apache/lucene/search/ScoreDoc;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // org.apache.lucene.search.ScoreDoc[] results
        start local 2 // int howMany
         0: .line 607
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.pq:Lorg/apache/lucene/util/PriorityQueue;
            checkcast org.apache.lucene.search.FieldValueHitQueue
            astore 3 /* queue */
        start local 3 // org.apache.lucene.search.FieldValueHitQueue queue
         1: .line 608
            iload 2 /* howMany */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 609
      StackMap locals: org.apache.lucene.search.FieldValueHitQueue int
      StackMap stack:
            aload 1 /* results */
            iload 4 /* i */
            aload 3 /* queue */
            aload 3 /* queue */
            invokevirtual org.apache.lucene.search.FieldValueHitQueue.pop:()Ljava/lang/Object;
            checkcast org.apache.lucene.search.FieldValueHitQueue$Entry
            invokevirtual org.apache.lucene.search.FieldValueHitQueue.fillFields:(Lorg/apache/lucene/search/FieldValueHitQueue$Entry;)Lorg/apache/lucene/search/FieldDoc;
            aastore
         4: .line 608
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            ifge 3
        end local 4 // int i
         6: .line 611
            return
        end local 3 // org.apache.lucene.search.FieldValueHitQueue queue
        end local 2 // int howMany
        end local 1 // org.apache.lucene.search.ScoreDoc[] results
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/lucene/search/TopFieldCollector;
            0    7     1  results  [Lorg/apache/lucene/search/ScoreDoc;
            0    7     2  howMany  I
            1    7     3    queue  Lorg/apache/lucene/search/FieldValueHitQueue<Lorg/apache/lucene/search/FieldValueHitQueue$Entry;>;
            2    6     4        i  I
    MethodParameters:
         Name  Flags
      results  
      howMany  

  protected org.apache.lucene.search.TopDocs newTopDocs(org.apache.lucene.search.ScoreDoc[], int);
    descriptor: ([Lorg/apache/lucene/search/ScoreDoc;I)Lorg/apache/lucene/search/TopDocs;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.TopFieldCollector this
        start local 1 // org.apache.lucene.search.ScoreDoc[] results
        start local 2 // int start
         0: .line 615
            aload 1 /* results */
            ifnonnull 2
         1: .line 616
            getstatic org.apache.lucene.search.TopFieldCollector.EMPTY_SCOREDOCS:[Lorg/apache/lucene/search/ScoreDoc;
            astore 1 /* results */
         2: .line 620
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.search.TopFieldDocs
            dup
            new org.apache.lucene.search.TotalHits
            dup
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.totalHits:I
            i2l
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.totalHitsRelation:Lorg/apache/lucene/search/TotalHits$Relation;
            invokespecial org.apache.lucene.search.TotalHits.<init>:(JLorg/apache/lucene/search/TotalHits$Relation;)V
            aload 1 /* results */
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.pq:Lorg/apache/lucene/util/PriorityQueue;
            checkcast org.apache.lucene.search.FieldValueHitQueue
            invokevirtual org.apache.lucene.search.FieldValueHitQueue.getFields:()[Lorg/apache/lucene/search/SortField;
            invokespecial org.apache.lucene.search.TopFieldDocs.<init>:(Lorg/apache/lucene/search/TotalHits;[Lorg/apache/lucene/search/ScoreDoc;[Lorg/apache/lucene/search/SortField;)V
            areturn
        end local 2 // int start
        end local 1 // org.apache.lucene.search.ScoreDoc[] results
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/lucene/search/TopFieldCollector;
            0    3     1  results  [Lorg/apache/lucene/search/ScoreDoc;
            0    3     2    start  I
    MethodParameters:
         Name  Flags
      results  
      start    

  public org.apache.lucene.search.TopFieldDocs topDocs();
    descriptor: ()Lorg/apache/lucene/search/TopFieldDocs;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TopFieldCollector this
         0: .line 625
            aload 0 /* this */
            invokespecial org.apache.lucene.search.TopDocsCollector.topDocs:()Lorg/apache/lucene/search/TopDocs;
            checkcast org.apache.lucene.search.TopFieldDocs
            areturn
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/TopFieldCollector;

  public boolean isEarlyTerminated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TopFieldCollector this
         0: .line 630
            aload 0 /* this */
            getfield org.apache.lucene.search.TopFieldCollector.totalHitsRelation:Lorg/apache/lucene/search/TotalHits$Relation;
            getstatic org.apache.lucene.search.TotalHits$Relation.GREATER_THAN_OR_EQUAL_TO:Lorg/apache/lucene/search/TotalHits$Relation;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.lucene.search.TopFieldCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/search/TopFieldCollector;

  public org.apache.lucene.search.TopDocs topDocs();
    descriptor: ()Lorg/apache/lucene/search/TopDocs;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.lucene.search.TopFieldCollector.topDocs:()Lorg/apache/lucene/search/TopFieldDocs;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int lambda$0(org.apache.lucene.search.ScoreDoc);
    descriptor: (Lorg/apache/lucene/search/ScoreDoc;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.ScoreDoc scoreDoc
         0: .line 561
            aload 0 /* scoreDoc */
            getfield org.apache.lucene.search.ScoreDoc.doc:I
            ireturn
        end local 0 // org.apache.lucene.search.ScoreDoc scoreDoc
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  scoreDoc  Lorg/apache/lucene/search/ScoreDoc;
}
Signature: Lorg/apache/lucene/search/TopDocsCollector<Lorg/apache/lucene/search/FieldValueHitQueue$Entry;>;
SourceFile: "TopFieldCollector.java"
NestMembers:
  org.apache.lucene.search.TopFieldCollector$1  org.apache.lucene.search.TopFieldCollector$MultiComparatorLeafCollector  org.apache.lucene.search.TopFieldCollector$PagingFieldCollector  org.apache.lucene.search.TopFieldCollector$PagingFieldCollector$1  org.apache.lucene.search.TopFieldCollector$SimpleFieldCollector  org.apache.lucene.search.TopFieldCollector$SimpleFieldCollector$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final RelevanceComparator = org.apache.lucene.search.FieldComparator$RelevanceComparator of org.apache.lucene.search.FieldComparator
  public Entry = org.apache.lucene.search.FieldValueHitQueue$Entry of org.apache.lucene.search.FieldValueHitQueue
  DocAndScore = org.apache.lucene.search.MaxScoreAccumulator$DocAndScore of org.apache.lucene.search.MaxScoreAccumulator
  org.apache.lucene.search.TopFieldCollector$1
  private abstract MultiComparatorLeafCollector = org.apache.lucene.search.TopFieldCollector$MultiComparatorLeafCollector of org.apache.lucene.search.TopFieldCollector
  private final PagingFieldCollector = org.apache.lucene.search.TopFieldCollector$PagingFieldCollector of org.apache.lucene.search.TopFieldCollector
  private SimpleFieldCollector = org.apache.lucene.search.TopFieldCollector$SimpleFieldCollector of org.apache.lucene.search.TopFieldCollector
  public final Relation = org.apache.lucene.search.TotalHits$Relation of org.apache.lucene.search.TotalHits