public final class org.apache.lucene.index.MultiTermsEnum extends org.apache.lucene.index.BaseTermsEnum
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.index.MultiTermsEnum
  super_class: org.apache.lucene.index.BaseTermsEnum
{
  private static final java.util.Comparator<org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice> INDEX_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;>;

  private final org.apache.lucene.index.MultiTermsEnum$TermMergeQueue queue;
    descriptor: Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice[] subs;
    descriptor: [Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice[] currentSubs;
    descriptor: [Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice[] top;
    descriptor: [Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice[] subDocs;
    descriptor: [Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.apache.lucene.util.BytesRef lastSeek;
    descriptor: Lorg/apache/lucene/util/BytesRef;
    flags: (0x0002) ACC_PRIVATE

  private boolean lastSeekExact;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.lucene.util.BytesRefBuilder lastSeekScratch;
    descriptor: Lorg/apache/lucene/util/BytesRefBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int numTop;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int numSubs;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.apache.lucene.util.BytesRef current;
    descriptor: Lorg/apache/lucene/util/BytesRef;
    flags: (0x0002) ACC_PRIVATE

  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=2, locals=0, args_size=0
         0: .line 35
            ldc Lorg/apache/lucene/index/MultiTermsEnum;
            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.index.MultiTermsEnum.$assertionsDisabled:Z
         3: .line 37
            new org.apache.lucene.index.MultiTermsEnum$1
            dup
            invokespecial org.apache.lucene.index.MultiTermsEnum$1.<init>:()V
            putstatic org.apache.lucene.index.MultiTermsEnum.INDEX_COMPARATOR:Ljava/util/Comparator;
         4: .line 42
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getMatchCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 72
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            ireturn
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;

  public org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice[] getMatchArray();
    descriptor: ()[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 77
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            areturn
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;

  public void <init>(org.apache.lucene.index.ReaderSlice[]);
    descriptor: ([Lorg/apache/lucene/index/ReaderSlice;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // org.apache.lucene.index.ReaderSlice[] slices
         0: .line 83
            aload 0 /* this */
            invokespecial org.apache.lucene.index.BaseTermsEnum.<init>:()V
         1: .line 52
            aload 0 /* this */
            new org.apache.lucene.util.BytesRefBuilder
            dup
            invokespecial org.apache.lucene.util.BytesRefBuilder.<init>:()V
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeekScratch:Lorg/apache/lucene/util/BytesRefBuilder;
         2: .line 84
            aload 0 /* this */
            new org.apache.lucene.index.MultiTermsEnum$TermMergeQueue
            dup
            aload 1 /* slices */
            arraylength
            invokespecial org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.<init>:(I)V
            putfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
         3: .line 85
            aload 0 /* this */
            aload 1 /* slices */
            arraylength
            anewarray org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
            putfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
         4: .line 86
            aload 0 /* this */
            aload 1 /* slices */
            arraylength
            anewarray org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
            putfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
         5: .line 87
            aload 0 /* this */
            aload 1 /* slices */
            arraylength
            anewarray org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice
            putfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
         6: .line 88
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 12
         8: .line 89
      StackMap locals: org.apache.lucene.index.MultiTermsEnum org.apache.lucene.index.ReaderSlice[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 2 /* i */
            new org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
            dup
            iload 2 /* i */
            aload 1 /* slices */
            iload 2 /* i */
            aaload
            invokespecial org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.<init>:(ILorg/apache/lucene/index/ReaderSlice;)V
            aastore
         9: .line 90
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
            iload 2 /* i */
            new org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice
            dup
            invokespecial org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice.<init>:()V
            aastore
        10: .line 91
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
            iload 2 /* i */
            aaload
            aload 1 /* slices */
            iload 2 /* i */
            aaload
            putfield org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice.slice:Lorg/apache/lucene/index/ReaderSlice;
        11: .line 88
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            aload 1 /* slices */
            arraylength
            if_icmplt 8
        end local 2 // int i
        13: .line 93
            aload 0 /* this */
            aload 1 /* slices */
            arraylength
            anewarray org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
            putfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
        14: .line 94
            return
        end local 1 // org.apache.lucene.index.ReaderSlice[] slices
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/apache/lucene/index/MultiTermsEnum;
            0   15     1  slices  [Lorg/apache/lucene/index/ReaderSlice;
            7   13     2       i  I
    MethodParameters:
        Name  Flags
      slices  

  public org.apache.lucene.util.BytesRef term();
    descriptor: ()Lorg/apache/lucene/util/BytesRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 98
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
            areturn
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;

  public org.apache.lucene.index.TermsEnum reset(org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex[]);
    descriptor: ([Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumIndex;)Lorg/apache/lucene/index/TermsEnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex[] termsEnumsIndex
         0: .line 104
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 1
            aload 1 /* termsEnumsIndex */
            arraylength
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.numSubs:I
         2: .line 106
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
         3: .line 107
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.clear:()V
         4: .line 108
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 15
         6: .line 110
      StackMap locals: int
      StackMap stack:
            aload 1 /* termsEnumsIndex */
            iload 2 /* i */
            aaload
            astore 3 /* termsEnumIndex */
        start local 3 // org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex termsEnumIndex
         7: .line 111
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 8
            aload 3 /* termsEnumIndex */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 113
      StackMap locals: org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex
      StackMap stack:
            aload 3 /* termsEnumIndex */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex.termsEnum:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.next:()Lorg/apache/lucene/util/BytesRef;
            astore 4 /* term */
        start local 4 // org.apache.lucene.util.BytesRef term
         9: .line 114
            aload 4 /* term */
            ifnull 14
        10: .line 115
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            aload 3 /* termsEnumIndex */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex.subIndex:I
            aaload
            astore 5 /* entry */
        start local 5 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice entry
        11: .line 116
            aload 5 /* entry */
            aload 3 /* termsEnumIndex */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex.termsEnum:Lorg/apache/lucene/index/TermsEnum;
            aload 4 /* term */
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.reset:(Lorg/apache/lucene/index/TermsEnum;Lorg/apache/lucene/util/BytesRef;)V
        12: .line 117
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            aload 5 /* entry */
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 118
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            aload 0 /* this */
            dup
            getfield org.apache.lucene.index.MultiTermsEnum.numSubs:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.lucene.index.MultiTermsEnum.numSubs:I
            aload 5 /* entry */
            aastore
        end local 5 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice entry
        end local 4 // org.apache.lucene.util.BytesRef term
        end local 3 // org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex termsEnumIndex
        14: .line 108
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 1 /* termsEnumsIndex */
            arraylength
            if_icmplt 6
        end local 2 // int i
        16: .line 124
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.size:()I
            ifne 18
        17: .line 125
            getstatic org.apache.lucene.index.TermsEnum.EMPTY:Lorg/apache/lucene/index/TermsEnum;
            areturn
        18: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex[] termsEnumsIndex
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/apache/lucene/index/MultiTermsEnum;
            0   19     1  termsEnumsIndex  [Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumIndex;
            5   16     2                i  I
            7   14     3   termsEnumIndex  Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumIndex;
            9   14     4             term  Lorg/apache/lucene/util/BytesRef;
           11   14     5            entry  Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      termsEnumsIndex  

  public boolean seekExact(org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/util/BytesRef;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // org.apache.lucene.util.BytesRef term
         0: .line 133
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.clear:()V
         1: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
         2: .line 136
            iconst_0
            istore 2 /* seekOpt */
        start local 2 // boolean seekOpt
         3: .line 137
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
            ifnull 5
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
            aload 1 /* term */
            invokevirtual org.apache.lucene.util.BytesRef.compareTo:(Lorg/apache/lucene/util/BytesRef;)I
            ifgt 5
         4: .line 138
            iconst_1
            istore 2 /* seekOpt */
         5: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
         6: .line 142
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeekExact:Z
         7: .line 144
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 29
         9: .line 152
      StackMap locals: int
      StackMap stack:
            iload 2 /* seekOpt */
            ifeq 23
        10: .line 153
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            astore 5 /* curTerm */
        start local 5 // org.apache.lucene.util.BytesRef curTerm
        11: .line 154
            aload 5 /* curTerm */
            ifnull 21
        12: .line 155
            aload 1 /* term */
            aload 5 /* curTerm */
            invokevirtual org.apache.lucene.util.BytesRef.compareTo:(Lorg/apache/lucene/util/BytesRef;)I
            istore 6 /* cmp */
        start local 6 // int cmp
        13: .line 156
            iload 6 /* cmp */
            ifne 16
        14: .line 157
            iconst_1
            istore 4 /* status */
        start local 4 // boolean status
        15: .line 158
            goto 24
        end local 4 // boolean status
      StackMap locals: org.apache.lucene.index.MultiTermsEnum org.apache.lucene.util.BytesRef int int top org.apache.lucene.util.BytesRef int
      StackMap stack:
        16: iload 6 /* cmp */
            ifge 19
        17: .line 159
            iconst_0
            istore 4 /* status */
        start local 4 // boolean status
        18: .line 160
            goto 24
        end local 4 // boolean status
        19: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            aload 1 /* term */
            invokevirtual org.apache.lucene.index.TermsEnum.seekExact:(Lorg/apache/lucene/util/BytesRef;)Z
            istore 4 /* status */
        end local 6 // int cmp
        start local 4 // boolean status
        20: .line 163
            goto 24
        end local 4 // boolean status
        21: .line 164
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* status */
        end local 5 // org.apache.lucene.util.BytesRef curTerm
        start local 4 // boolean status
        22: .line 166
            goto 24
        end local 4 // boolean status
        23: .line 167
      StackMap locals: org.apache.lucene.index.MultiTermsEnum org.apache.lucene.util.BytesRef int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            aload 1 /* term */
            invokevirtual org.apache.lucene.index.TermsEnum.seekExact:(Lorg/apache/lucene/util/BytesRef;)Z
            istore 4 /* status */
        start local 4 // boolean status
        24: .line 170
      StackMap locals: int
      StackMap stack:
            iload 4 /* status */
            ifeq 28
        25: .line 171
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            aload 0 /* this */
            dup
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aastore
        26: .line 172
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.term:()Lorg/apache/lucene/util/BytesRef;
            dup_x1
            putfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
        27: .line 173
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 28
            aload 1 /* term */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            invokevirtual org.apache.lucene.util.BytesRef.equals:(Ljava/lang/Object;)Z
            ifne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 4 // boolean status
        28: .line 144
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numSubs:I
            if_icmplt 9
        end local 3 // int i
        30: .line 179
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            ifle 31
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        31: iconst_0
            ireturn
        end local 2 // boolean seekOpt
        end local 1 // org.apache.lucene.util.BytesRef term
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/apache/lucene/index/MultiTermsEnum;
            0   32     1     term  Lorg/apache/lucene/util/BytesRef;
            3   32     2  seekOpt  Z
            8   30     3        i  I
           15   16     4   status  Z
           18   19     4   status  Z
           20   21     4   status  Z
           22   23     4   status  Z
           24   28     4   status  Z
           11   22     5  curTerm  Lorg/apache/lucene/util/BytesRef;
           13   20     6      cmp  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      term  

  public org.apache.lucene.index.TermsEnum$SeekStatus seekCeil(org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/index/TermsEnum$SeekStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // org.apache.lucene.util.BytesRef term
         0: .line 184
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.clear:()V
         1: .line 185
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
         2: .line 186
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeekExact:Z
         3: .line 188
            iconst_0
            istore 2 /* seekOpt */
        start local 2 // boolean seekOpt
         4: .line 189
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
            ifnull 6
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
            aload 1 /* term */
            invokevirtual org.apache.lucene.util.BytesRef.compareTo:(Lorg/apache/lucene/util/BytesRef;)I
            ifgt 6
         5: .line 190
            iconst_1
            istore 2 /* seekOpt */
         6: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeekScratch:Lorg/apache/lucene/util/BytesRefBuilder;
            aload 1 /* term */
            invokevirtual org.apache.lucene.util.BytesRefBuilder.copyBytes:(Lorg/apache/lucene/util/BytesRef;)V
         7: .line 194
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeekScratch:Lorg/apache/lucene/util/BytesRefBuilder;
            invokevirtual org.apache.lucene.util.BytesRefBuilder.get:()Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
         8: .line 196
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 38
        10: .line 204
      StackMap locals: int
      StackMap stack:
            iload 2 /* seekOpt */
            ifeq 24
        11: .line 205
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            astore 5 /* curTerm */
        start local 5 // org.apache.lucene.util.BytesRef curTerm
        12: .line 206
            aload 5 /* curTerm */
            ifnull 22
        13: .line 207
            aload 1 /* term */
            aload 5 /* curTerm */
            invokevirtual org.apache.lucene.util.BytesRef.compareTo:(Lorg/apache/lucene/util/BytesRef;)I
            istore 6 /* cmp */
        start local 6 // int cmp
        14: .line 208
            iload 6 /* cmp */
            ifne 17
        15: .line 209
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 4 /* status */
        start local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        16: .line 210
            goto 25
        end local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
      StackMap locals: org.apache.lucene.index.MultiTermsEnum org.apache.lucene.util.BytesRef int int top org.apache.lucene.util.BytesRef int
      StackMap stack:
        17: iload 6 /* cmp */
            ifge 20
        18: .line 211
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.NOT_FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 4 /* status */
        start local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        19: .line 212
            goto 25
        end local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        20: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            aload 1 /* term */
            invokevirtual org.apache.lucene.index.TermsEnum.seekCeil:(Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 4 /* status */
        end local 6 // int cmp
        start local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        21: .line 215
            goto 25
        end local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        22: .line 216
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.END:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 4 /* status */
        end local 5 // org.apache.lucene.util.BytesRef curTerm
        start local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        23: .line 218
            goto 25
        end local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        24: .line 219
      StackMap locals: org.apache.lucene.index.MultiTermsEnum org.apache.lucene.util.BytesRef int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            aload 1 /* term */
            invokevirtual org.apache.lucene.index.TermsEnum.seekCeil:(Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 4 /* status */
        start local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        25: .line 222
      StackMap locals: org.apache.lucene.index.TermsEnum$SeekStatus
      StackMap stack:
            aload 4 /* status */
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            if_acmpne 30
        26: .line 223
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            aload 0 /* this */
            dup
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aastore
        27: .line 224
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.term:()Lorg/apache/lucene/util/BytesRef;
            dup_x1
            putfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
        28: .line 225
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 226
            goto 37
        30: .line 227
      StackMap locals:
      StackMap stack:
            aload 4 /* status */
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.NOT_FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            if_acmpne 35
        31: .line 228
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.term:()Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
        32: .line 229
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 33
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            ifnonnull 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 231
            goto 37
        35: .line 232
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 36
            aload 4 /* status */
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.END:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            if_acmpeq 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.currentSubs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            aconst_null
            putfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
        end local 4 // org.apache.lucene.index.TermsEnum$SeekStatus status
        37: .line 196
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numSubs:I
            if_icmplt 10
        end local 3 // int i
        39: .line 239
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            ifle 41
        40: .line 241
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            areturn
        41: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.size:()I
            ifle 44
        42: .line 246
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MultiTermsEnum.pullTop:()V
        43: .line 247
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.NOT_FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            areturn
        44: .line 249
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.END:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            areturn
        end local 2 // boolean seekOpt
        end local 1 // org.apache.lucene.util.BytesRef term
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lorg/apache/lucene/index/MultiTermsEnum;
            0   45     1     term  Lorg/apache/lucene/util/BytesRef;
            4   45     2  seekOpt  Z
            9   39     3        i  I
           16   17     4   status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
           19   20     4   status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
           21   22     4   status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
           23   24     4   status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
           25   37     4   status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
           12   23     5  curTerm  Lorg/apache/lucene/util/BytesRef;
           14   21     6      cmp  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      term  

  public void seekExact(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // long ord
         0: .line 255
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // long ord
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;
            0    1     1   ord  J
    MethodParameters:
      Name  Flags
      ord   

  public long ord();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 260
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;

  private void pullTop();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 266
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.fillTop:([Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;)I
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
         2: .line 268
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iconst_0
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
         3: .line 269
            return
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/lucene/index/MultiTermsEnum;

  private void pushTop();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 273
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 9
         2: .line 274
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.top:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
            astore 2 /* top */
        start local 2 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice top
         3: .line 275
            aload 2 /* top */
            aload 2 /* top */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.next:()Lorg/apache/lucene/util/BytesRef;
            putfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
         4: .line 276
            aload 2 /* top */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.current:Lorg/apache/lucene/util/BytesRef;
            ifnonnull 7
         5: .line 277
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.pop:()Ljava/lang/Object;
            pop
         6: .line 278
            goto 8
         7: .line 279
      StackMap locals: org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.updateTop:()Ljava/lang/Object;
            pop
        end local 2 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice top
         8: .line 273
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 1 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            if_icmplt 2
        end local 1 // int i
        10: .line 282
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.numTop:I
        11: .line 283
            return
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/lucene/index/MultiTermsEnum;
            1   10     1     i  I
            3    8     2   top  Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
    Exceptions:
      throws java.io.IOException

  public org.apache.lucene.util.BytesRef next();
    descriptor: ()Lorg/apache/lucene/util/BytesRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 287
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.lastSeekExact:Z
            ifeq 4
         1: .line 294
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
            invokevirtual org.apache.lucene.index.MultiTermsEnum.seekCeil:(Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            astore 1 /* status */
        start local 1 // org.apache.lucene.index.TermsEnum$SeekStatus status
         2: .line 295
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 3
            aload 1 /* status */
            getstatic org.apache.lucene.index.TermsEnum$SeekStatus.FOUND:Lorg/apache/lucene/index/TermsEnum$SeekStatus;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 296
      StackMap locals: org.apache.lucene.index.TermsEnum$SeekStatus
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeekExact:Z
        end local 1 // org.apache.lucene.index.TermsEnum$SeekStatus status
         4: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.MultiTermsEnum.lastSeek:Lorg/apache/lucene/util/BytesRef;
         5: .line 301
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MultiTermsEnum.pushTop:()V
         6: .line 304
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.queue:Lorg/apache/lucene/index/MultiTermsEnum$TermMergeQueue;
            invokevirtual org.apache.lucene.index.MultiTermsEnum$TermMergeQueue.size:()I
            ifle 9
         7: .line 307
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MultiTermsEnum.pullTop:()V
         8: .line 308
            goto 10
         9: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
        10: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.current:Lorg/apache/lucene/util/BytesRef;
            areturn
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/lucene/index/MultiTermsEnum;
            2    4     1  status  Lorg/apache/lucene/index/TermsEnum$SeekStatus;
    Exceptions:
      throws java.io.IOException

  public int docFreq();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 317
            iconst_0
            istore 1 /* sum */
        start local 1 // int sum
         1: .line 318
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 319
      StackMap locals: int int
      StackMap stack:
            iload 1 /* sum */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 2 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.docFreq:()I
            iadd
            istore 1 /* sum */
         4: .line 318
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            if_icmplt 3
        end local 2 // int i
         6: .line 321
            iload 1 /* sum */
            ireturn
        end local 1 // int sum
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/lucene/index/MultiTermsEnum;
            1    7     1   sum  I
            2    6     2     i  I
    Exceptions:
      throws java.io.IOException

  public long totalTermFreq();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 326
            lconst_0
            lstore 1 /* sum */
        start local 1 // long sum
         1: .line 327
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 328
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 3 /* i */
            aaload
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            invokevirtual org.apache.lucene.index.TermsEnum.totalTermFreq:()J
            lstore 4 /* v */
        start local 4 // long v
         4: .line 329
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 5
            lload 4 /* v */
            ldc -1
            lcmp
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 330
      StackMap locals: long
      StackMap stack:
            lload 1 /* sum */
            lload 4 /* v */
            ladd
            lstore 1 /* sum */
        end local 4 // long v
         6: .line 327
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            if_icmplt 3
        end local 3 // int i
         8: .line 332
            lload 1 /* sum */
            lreturn
        end local 1 // long sum
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/lucene/index/MultiTermsEnum;
            1    9     1   sum  J
            2    8     3     i  I
            4    6     4     v  J
    Exceptions:
      throws java.io.IOException

  public org.apache.lucene.index.PostingsEnum postings(org.apache.lucene.index.PostingsEnum, int);
    descriptor: (Lorg/apache/lucene/index/PostingsEnum;I)Lorg/apache/lucene/index/PostingsEnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // org.apache.lucene.index.PostingsEnum reuse
        start local 2 // int flags
         0: .line 340
            aload 1 /* reuse */
            ifnull 5
            aload 1 /* reuse */
            instanceof org.apache.lucene.index.MultiPostingsEnum
            ifeq 5
         1: .line 341
            aload 1 /* reuse */
            checkcast org.apache.lucene.index.MultiPostingsEnum
            astore 3 /* docsEnum */
        start local 3 // org.apache.lucene.index.MultiPostingsEnum docsEnum
         2: .line 343
            aload 3 /* docsEnum */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MultiPostingsEnum.canReuse:(Lorg/apache/lucene/index/MultiTermsEnum;)Z
            ifne 6
         3: .line 344
            new org.apache.lucene.index.MultiPostingsEnum
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            arraylength
            invokespecial org.apache.lucene.index.MultiPostingsEnum.<init>:(Lorg/apache/lucene/index/MultiTermsEnum;I)V
            astore 3 /* docsEnum */
         4: .line 346
            goto 6
        end local 3 // org.apache.lucene.index.MultiPostingsEnum docsEnum
         5: .line 347
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.MultiPostingsEnum
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            arraylength
            invokespecial org.apache.lucene.index.MultiPostingsEnum.<init>:(Lorg/apache/lucene/index/MultiTermsEnum;I)V
            astore 3 /* docsEnum */
        start local 3 // org.apache.lucene.index.MultiPostingsEnum docsEnum
         6: .line 350
      StackMap locals: org.apache.lucene.index.MultiPostingsEnum
      StackMap stack:
            iconst_0
            istore 4 /* upto */
        start local 4 // int upto
         7: .line 352
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iconst_0
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            getstatic org.apache.lucene.index.MultiTermsEnum.INDEX_COMPARATOR:Ljava/util/Comparator;
            invokestatic org.apache.lucene.util.ArrayUtil.timSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         8: .line 354
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 19
        10: .line 356
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.top:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            iload 5 /* i */
            aaload
            astore 6 /* entry */
        start local 6 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice entry
        11: .line 358
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 12
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.index:I
            aload 3 /* docsEnum */
            getfield org.apache.lucene.index.MultiPostingsEnum.subPostingsEnums:[Lorg/apache/lucene/index/PostingsEnum;
            arraylength
            if_icmplt 12
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.index:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " vs "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* docsEnum */
            getfield org.apache.lucene.index.MultiPostingsEnum.subPostingsEnums:[Lorg/apache/lucene/index/PostingsEnum;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 359
      StackMap locals: org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
      StackMap stack:
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.terms:Lorg/apache/lucene/index/TermsEnum;
            aload 3 /* docsEnum */
            getfield org.apache.lucene.index.MultiPostingsEnum.subPostingsEnums:[Lorg/apache/lucene/index/PostingsEnum;
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.index:I
            aaload
            iload 2 /* flags */
            invokevirtual org.apache.lucene.index.TermsEnum.postings:(Lorg/apache/lucene/index/PostingsEnum;I)Lorg/apache/lucene/index/PostingsEnum;
            astore 7 /* subPostingsEnum */
        start local 7 // org.apache.lucene.index.PostingsEnum subPostingsEnum
        13: .line 360
            getstatic org.apache.lucene.index.MultiTermsEnum.$assertionsDisabled:Z
            ifne 14
            aload 7 /* subPostingsEnum */
            ifnonnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 361
      StackMap locals: org.apache.lucene.index.PostingsEnum
      StackMap stack:
            aload 3 /* docsEnum */
            getfield org.apache.lucene.index.MultiPostingsEnum.subPostingsEnums:[Lorg/apache/lucene/index/PostingsEnum;
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.index:I
            aload 7 /* subPostingsEnum */
            aastore
        15: .line 362
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
            iload 4 /* upto */
            aaload
            aload 7 /* subPostingsEnum */
            putfield org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice.postingsEnum:Lorg/apache/lucene/index/PostingsEnum;
        16: .line 363
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
            iload 4 /* upto */
            aaload
            aload 6 /* entry */
            getfield org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice.subSlice:Lorg/apache/lucene/index/ReaderSlice;
            putfield org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice.slice:Lorg/apache/lucene/index/ReaderSlice;
        17: .line 364
            iinc 4 /* upto */ 1
        end local 7 // org.apache.lucene.index.PostingsEnum subPostingsEnum
        end local 6 // org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice entry
        18: .line 354
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.numTop:I
            if_icmplt 10
        end local 5 // int i
        20: .line 367
            aload 3 /* docsEnum */
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subDocs:[Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;
            iload 4 /* upto */
            invokevirtual org.apache.lucene.index.MultiPostingsEnum.reset:([Lorg/apache/lucene/index/MultiPostingsEnum$EnumWithSlice;I)Lorg/apache/lucene/index/MultiPostingsEnum;
            areturn
        end local 4 // int upto
        end local 3 // org.apache.lucene.index.MultiPostingsEnum docsEnum
        end local 2 // int flags
        end local 1 // org.apache.lucene.index.PostingsEnum reuse
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/apache/lucene/index/MultiTermsEnum;
            0   21     1            reuse  Lorg/apache/lucene/index/PostingsEnum;
            0   21     2            flags  I
            2    5     3         docsEnum  Lorg/apache/lucene/index/MultiPostingsEnum;
            6   21     3         docsEnum  Lorg/apache/lucene/index/MultiPostingsEnum;
            7   21     4             upto  I
            9   20     5                i  I
           11   18     6            entry  Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
           13   18     7  subPostingsEnum  Lorg/apache/lucene/index/PostingsEnum;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      reuse  
      flags  

  public org.apache.lucene.index.ImpactsEnum impacts(int);
    descriptor: (I)Lorg/apache/lucene/index/ImpactsEnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
        start local 1 // int flags
         0: .line 373
            new org.apache.lucene.index.SlowImpactsEnum
            dup
            aload 0 /* this */
            aconst_null
            iload 1 /* flags */
            invokevirtual org.apache.lucene.index.MultiTermsEnum.postings:(Lorg/apache/lucene/index/PostingsEnum;I)Lorg/apache/lucene/index/PostingsEnum;
            invokespecial org.apache.lucene.index.SlowImpactsEnum.<init>:(Lorg/apache/lucene/index/PostingsEnum;)V
            areturn
        end local 1 // int flags
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/lucene/index/MultiTermsEnum;
            0    1     1  flags  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      flags  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MultiTermsEnum this
         0: .line 446
            new java.lang.StringBuilder
            dup
            ldc "MultiTermsEnum("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.MultiTermsEnum.subs:[Lorg/apache/lucene/index/MultiTermsEnum$TermsEnumWithSlice;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.index.MultiTermsEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MultiTermsEnum;
}
SourceFile: "MultiTermsEnum.java"
NestMembers:
  org.apache.lucene.index.MultiTermsEnum$1  org.apache.lucene.index.MultiTermsEnum$TermMergeQueue  org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex  org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice
InnerClasses:
  public final EnumWithSlice = org.apache.lucene.index.MultiPostingsEnum$EnumWithSlice of org.apache.lucene.index.MultiPostingsEnum
  org.apache.lucene.index.MultiTermsEnum$1
  private final TermMergeQueue = org.apache.lucene.index.MultiTermsEnum$TermMergeQueue of org.apache.lucene.index.MultiTermsEnum
  TermsEnumIndex = org.apache.lucene.index.MultiTermsEnum$TermsEnumIndex of org.apache.lucene.index.MultiTermsEnum
  final TermsEnumWithSlice = org.apache.lucene.index.MultiTermsEnum$TermsEnumWithSlice of org.apache.lucene.index.MultiTermsEnum
  public final SeekStatus = org.apache.lucene.index.TermsEnum$SeekStatus of org.apache.lucene.index.TermsEnum