public abstract class org.apache.lucene.index.MergePolicy
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.index.MergePolicy
  super_class: java.lang.Object
{
  protected static final double DEFAULT_NO_CFS_RATIO;
    descriptor: D
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0

  protected static final long DEFAULT_MAX_CFS_SEGMENT_SIZE;
    descriptor: J
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 9223372036854775807

  protected double noCFSRatio;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected long maxCFSSegmentSize;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  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 77
            ldc Lorg/apache/lucene/index/MergePolicy;
            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.MergePolicy.$assertionsDisabled:Z
         3: .line 548
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MergePolicy this
         0: .line 563
            aload 0 /* this */
            dconst_1
            ldc 9223372036854775807
            invokespecial org.apache.lucene.index.MergePolicy.<init>:(DJ)V
         1: .line 564
            return
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/MergePolicy;

  protected void <init>(double, long);
    descriptor: (DJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // double defaultNoCFSRatio
        start local 3 // long defaultMaxCFSSegmentSize
         0: .line 571
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 553
            aload 0 /* this */
            dconst_1
            putfield org.apache.lucene.index.MergePolicy.noCFSRatio:D
         2: .line 557
            aload 0 /* this */
            ldc 9223372036854775807
            putfield org.apache.lucene.index.MergePolicy.maxCFSSegmentSize:J
         3: .line 572
            aload 0 /* this */
            dload 1 /* defaultNoCFSRatio */
            putfield org.apache.lucene.index.MergePolicy.noCFSRatio:D
         4: .line 573
            aload 0 /* this */
            lload 3 /* defaultMaxCFSSegmentSize */
            putfield org.apache.lucene.index.MergePolicy.maxCFSSegmentSize:J
         5: .line 574
            return
        end local 3 // long defaultMaxCFSSegmentSize
        end local 1 // double defaultNoCFSRatio
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/apache/lucene/index/MergePolicy;
            0    6     1         defaultNoCFSRatio  D
            0    6     3  defaultMaxCFSSegmentSize  J
    MethodParameters:
                          Name  Flags
      defaultNoCFSRatio         
      defaultMaxCFSSegmentSize  

  public abstract org.apache.lucene.index.MergePolicy$MergeSpecification findMerges(org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      mergeTrigger  
      segmentInfos  
      mergeContext  

  public abstract org.apache.lucene.index.MergePolicy$MergeSpecification findForcedMerges(org.apache.lucene.index.SegmentInfos, int, java.util.Map<org.apache.lucene.index.SegmentCommitInfo, java.lang.Boolean>, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;ILjava/util/Map;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/SegmentInfos;ILjava/util/Map<Lorg/apache/lucene/index/SegmentCommitInfo;Ljava/lang/Boolean;>;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    MethodParameters:
                 Name  Flags
      segmentInfos     
      maxSegmentCount  
      segmentsToMerge  
      mergeContext     

  public abstract org.apache.lucene.index.MergePolicy$MergeSpecification findForcedDeletesMerges(org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      segmentInfos  
      mergeContext  

  public org.apache.lucene.index.MergePolicy$MergeSpecification findFullFlushMerges(org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.MergeTrigger mergeTrigger
        start local 2 // org.apache.lucene.index.SegmentInfos segmentInfos
        start local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 646
            aconst_null
            areturn
        end local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 2 // org.apache.lucene.index.SegmentInfos segmentInfos
        end local 1 // org.apache.lucene.index.MergeTrigger mergeTrigger
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/lucene/index/MergePolicy;
            0    1     1  mergeTrigger  Lorg/apache/lucene/index/MergeTrigger;
            0    1     2  segmentInfos  Lorg/apache/lucene/index/SegmentInfos;
            0    1     3  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      mergeTrigger  
      segmentInfos  
      mergeContext  

  public boolean useCompoundFile(org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.SegmentCommitInfo, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.SegmentInfos infos
        start local 2 // org.apache.lucene.index.SegmentCommitInfo mergedInfo
        start local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 657
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.getNoCFSRatio:()D
            dconst_0
            dcmpl
            ifne 2
         1: .line 658
            iconst_0
            ireturn
         2: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mergedInfo */
            aload 3 /* mergeContext */
            invokevirtual org.apache.lucene.index.MergePolicy.size:(Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)J
            lstore 4 /* mergedInfoSize */
        start local 4 // long mergedInfoSize
         3: .line 661
            lload 4 /* mergedInfoSize */
            aload 0 /* this */
            getfield org.apache.lucene.index.MergePolicy.maxCFSSegmentSize:J
            lcmp
            ifle 5
         4: .line 662
            iconst_0
            ireturn
         5: .line 664
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.getNoCFSRatio:()D
            dconst_1
            dcmpl
            iflt 7
         6: .line 665
            iconst_1
            ireturn
         7: .line 667
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 6 /* totalSize */
        start local 6 // long totalSize
         8: .line 668
            aload 1 /* infos */
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 9
            goto 11
      StackMap locals: org.apache.lucene.index.MergePolicy org.apache.lucene.index.SegmentInfos org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.MergePolicy$MergeContext long long top java.util.Iterator
      StackMap stack:
         9: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 8 /* info */
        start local 8 // org.apache.lucene.index.SegmentCommitInfo info
        10: .line 669
            lload 6 /* totalSize */
            aload 0 /* this */
            aload 8 /* info */
            aload 3 /* mergeContext */
            invokevirtual org.apache.lucene.index.MergePolicy.size:(Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)J
            ladd
            lstore 6 /* totalSize */
        end local 8 // org.apache.lucene.index.SegmentCommitInfo info
        11: .line 668
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 671
            lload 4 /* mergedInfoSize */
            l2d
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.getNoCFSRatio:()D
            lload 6 /* totalSize */
            l2d
            dmul
            dcmpg
            ifgt 13
            iconst_1
            ireturn
      StackMap locals: org.apache.lucene.index.MergePolicy org.apache.lucene.index.SegmentInfos org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.MergePolicy$MergeContext long long
      StackMap stack:
        13: iconst_0
            ireturn
        end local 6 // long totalSize
        end local 4 // long mergedInfoSize
        end local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 2 // org.apache.lucene.index.SegmentCommitInfo mergedInfo
        end local 1 // org.apache.lucene.index.SegmentInfos infos
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/apache/lucene/index/MergePolicy;
            0   14     1           infos  Lorg/apache/lucene/index/SegmentInfos;
            0   14     2      mergedInfo  Lorg/apache/lucene/index/SegmentCommitInfo;
            0   14     3    mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
            3   14     4  mergedInfoSize  J
            8   14     6       totalSize  J
           10   11     8            info  Lorg/apache/lucene/index/SegmentCommitInfo;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      infos         
      mergedInfo    
      mergeContext  

  protected long size(org.apache.lucene.index.SegmentCommitInfo, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
        start local 2 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 678
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            lstore 3 /* byteSize */
        start local 3 // long byteSize
         1: .line 679
            aload 2 /* mergeContext */
            aload 1 /* info */
            invokeinterface org.apache.lucene.index.MergePolicy$MergeContext.numDeletesToMerge:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            istore 5 /* delCount */
        start local 5 // int delCount
         2: .line 680
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            iload 5 /* delCount */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.MergePolicy.assertDelCount:(ILorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 681
      StackMap locals: long int
      StackMap stack:
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifgt 4
            dconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iload 5 /* delCount */
            i2d
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            i2d
            ddiv
      StackMap locals:
      StackMap stack: double
         5: dstore 6 /* delRatio */
        start local 6 // double delRatio
         6: .line 682
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 7
            dload 6 /* delRatio */
            dconst_1
            dcmpg
            ifle 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 683
      StackMap locals: double
      StackMap stack:
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifgt 8
            lload 3 /* byteSize */
            goto 9
      StackMap locals:
      StackMap stack:
         8: lload 3 /* byteSize */
            l2d
            dconst_1
            dload 6 /* delRatio */
            dsub
            dmul
            d2l
      StackMap locals:
      StackMap stack: long
         9: lreturn
        end local 6 // double delRatio
        end local 5 // int delCount
        end local 3 // long byteSize
        end local 2 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/apache/lucene/index/MergePolicy;
            0   10     1          info  Lorg/apache/lucene/index/SegmentCommitInfo;
            0   10     2  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
            1   10     3      byteSize  J
            2   10     5      delCount  I
            6   10     6      delRatio  D
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      info          
      mergeContext  

  protected final boolean assertDelCount(int, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (ILorg/apache/lucene/index/SegmentCommitInfo;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // int delCount
        start local 2 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 690
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 1
            iload 1 /* delCount */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "delCount must be positive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* delCount */
            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
         1: .line 691
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 3
            iload 1 /* delCount */
            aload 2 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmple 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "delCount: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* delCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 692
            ldc " must be leq than maxDoc: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            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
         3: .line 693
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.apache.lucene.index.SegmentCommitInfo info
        end local 1 // int delCount
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/lucene/index/MergePolicy;
            0    4     1  delCount  I
            0    4     2      info  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
          Name  Flags
      delCount  
      info      

  protected final boolean isMerged(org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.SegmentCommitInfo, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.SegmentInfos infos
        start local 2 // org.apache.lucene.index.SegmentCommitInfo info
        start local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 700
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 1
            aload 3 /* mergeContext */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 701
      StackMap locals:
      StackMap stack:
            aload 3 /* mergeContext */
            aload 2 /* info */
            invokeinterface org.apache.lucene.index.MergePolicy$MergeContext.numDeletesToMerge:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            istore 4 /* delCount */
        start local 4 // int delCount
         2: .line 702
            getstatic org.apache.lucene.index.MergePolicy.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            iload 4 /* delCount */
            aload 2 /* info */
            invokevirtual org.apache.lucene.index.MergePolicy.assertDelCount:(ILorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 703
      StackMap locals: int
      StackMap stack:
            iload 4 /* delCount */
            ifne 6
         4: .line 704
            aload 0 /* this */
            aload 1 /* infos */
            aload 2 /* info */
            aload 3 /* mergeContext */
            invokevirtual org.apache.lucene.index.MergePolicy.useCompoundFile:(Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
            aload 2 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getUseCompoundFile:()Z
            if_icmpne 6
         5: .line 703
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 4 // int delCount
        end local 3 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 2 // org.apache.lucene.index.SegmentCommitInfo info
        end local 1 // org.apache.lucene.index.SegmentInfos infos
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/apache/lucene/index/MergePolicy;
            0    7     1         infos  Lorg/apache/lucene/index/SegmentInfos;
            0    7     2          info  Lorg/apache/lucene/index/SegmentCommitInfo;
            0    7     3  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
            2    7     4      delCount  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      infos         
      info          
      mergeContext  

  public double getNoCFSRatio();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MergePolicy this
         0: .line 711
            aload 0 /* this */
            getfield org.apache.lucene.index.MergePolicy.noCFSRatio:D
            dreturn
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MergePolicy;

  public void setNoCFSRatio(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // double noCFSRatio
         0: .line 720
            dload 1 /* noCFSRatio */
            dconst_0
            dcmpg
            iflt 1
            dload 1 /* noCFSRatio */
            dconst_1
            dcmpl
            ifle 2
         1: .line 721
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "noCFSRatio must be 0.0 to 1.0 inclusive; got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 1 /* noCFSRatio */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* noCFSRatio */
            putfield org.apache.lucene.index.MergePolicy.noCFSRatio:D
         3: .line 724
            return
        end local 1 // double noCFSRatio
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/lucene/index/MergePolicy;
            0    4     1  noCFSRatio  D
    MethodParameters:
            Name  Flags
      noCFSRatio  

  public double getMaxCFSSegmentSizeMB();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.MergePolicy this
         0: .line 728
            aload 0 /* this */
            getfield org.apache.lucene.index.MergePolicy.maxCFSSegmentSize:J
            ldc 1024
            ldiv
            l2d
            ldc 1024.0
            ddiv
            dreturn
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/MergePolicy;

  public void setMaxCFSSegmentSizeMB(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // double v
         0: .line 737
            dload 1 /* v */
            dconst_0
            dcmpg
            ifge 2
         1: .line 738
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxCFSSegmentSizeMB must be >=0 (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 1 /* v */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc ")"
            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
         2: .line 740
      StackMap locals:
      StackMap stack:
            dload 1 /* v */
            ldc 1048576.0
            dmul
            dstore 1 /* v */
         3: .line 741
            aload 0 /* this */
            dload 1 /* v */
            ldc 9.223372036854776E18
            dcmpl
            ifle 4
            ldc 9223372036854775807
            goto 5
      StackMap locals:
      StackMap stack: org.apache.lucene.index.MergePolicy
         4: dload 1 /* v */
            d2l
      StackMap locals: org.apache.lucene.index.MergePolicy double
      StackMap stack: org.apache.lucene.index.MergePolicy long
         5: putfield org.apache.lucene.index.MergePolicy.maxCFSSegmentSize:J
         6: .line 742
            return
        end local 1 // double v
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/lucene/index/MergePolicy;
            0    7     1     v  D
    MethodParameters:
      Name  Flags
      v     

  public boolean keepFullyDeletedSegment(org.apache.lucene.util.IOSupplier<org.apache.lucene.index.CodecReader>);
    descriptor: (Lorg/apache/lucene/util/IOSupplier;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.util.IOSupplier readerIOSupplier
         0: .line 749
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.util.IOSupplier readerIOSupplier
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/apache/lucene/index/MergePolicy;
            0    1     1  readerIOSupplier  Lorg/apache/lucene/util/IOSupplier<Lorg/apache/lucene/index/CodecReader;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/util/IOSupplier<Lorg/apache/lucene/index/CodecReader;>;)Z
    MethodParameters:
                  Name  Flags
      readerIOSupplier  

  public int numDeletesToMerge(org.apache.lucene.index.SegmentCommitInfo, int, org.apache.lucene.util.IOSupplier<org.apache.lucene.index.CodecReader>);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;ILorg/apache/lucene/util/IOSupplier;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
        start local 2 // int delCount
        start local 3 // org.apache.lucene.util.IOSupplier readerSupplier
         0: .line 766
            iload 2 /* delCount */
            ireturn
        end local 3 // org.apache.lucene.util.IOSupplier readerSupplier
        end local 2 // int delCount
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/apache/lucene/index/MergePolicy;
            0    1     1            info  Lorg/apache/lucene/index/SegmentCommitInfo;
            0    1     2        delCount  I
            0    1     3  readerSupplier  Lorg/apache/lucene/util/IOSupplier<Lorg/apache/lucene/index/CodecReader;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/SegmentCommitInfo;ILorg/apache/lucene/util/IOSupplier<Lorg/apache/lucene/index/CodecReader;>;)I
    MethodParameters:
                Name  Flags
      info            
      delCount        
      readerSupplier  

  protected final java.lang.String segString(org.apache.lucene.index.MergePolicy$MergeContext, java.lang.Iterable<org.apache.lucene.index.SegmentCommitInfo>);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$MergeContext;Ljava/lang/Iterable;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        start local 2 // java.lang.Iterable infos
         0: .line 773
            aload 2 /* infos */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 774
            aload 1 /* mergeContext */
            invokedynamic apply(Lorg/apache/lucene/index/MergePolicy$MergeContext;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/apache/lucene/index/MergePolicy.lambda$0(Lorg/apache/lucene/index/MergePolicy$MergeContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String; (6)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 775
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         3: .line 773
            areturn
        end local 2 // java.lang.Iterable infos
        end local 1 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/lucene/index/MergePolicy;
            0    4     1  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
            0    4     2         infos  Ljava/lang/Iterable<Lorg/apache/lucene/index/SegmentCommitInfo;>;
    Signature: (Lorg/apache/lucene/index/MergePolicy$MergeContext;Ljava/lang/Iterable<Lorg/apache/lucene/index/SegmentCommitInfo;>;)Ljava/lang/String;
    MethodParameters:
              Name  Flags
      mergeContext  
      infos         

  protected final void message(java.lang.String, org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Ljava/lang/String;Lorg/apache/lucene/index/MergePolicy$MergeContext;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // java.lang.String message
        start local 2 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 781
            aload 0 /* this */
            aload 2 /* mergeContext */
            invokevirtual org.apache.lucene.index.MergePolicy.verbose:(Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
            ifeq 2
         1: .line 782
            aload 2 /* mergeContext */
            invokeinterface org.apache.lucene.index.MergePolicy$MergeContext.getInfoStream:()Lorg/apache/lucene/util/InfoStream;
            ldc "MP"
            aload 1 /* message */
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 784
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 1 // java.lang.String message
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/lucene/index/MergePolicy;
            0    3     1       message  Ljava/lang/String;
            0    3     2  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
    MethodParameters:
              Name  Flags
      message       
      mergeContext  

  protected final boolean verbose(org.apache.lucene.index.MergePolicy$MergeContext);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.MergePolicy this
        start local 1 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
         0: .line 791
            aload 1 /* mergeContext */
            invokeinterface org.apache.lucene.index.MergePolicy$MergeContext.getInfoStream:()Lorg/apache/lucene/util/InfoStream;
            ldc "MP"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ireturn
        end local 1 // org.apache.lucene.index.MergePolicy$MergeContext mergeContext
        end local 0 // org.apache.lucene.index.MergePolicy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/lucene/index/MergePolicy;
            0    1     1  mergeContext  Lorg/apache/lucene/index/MergePolicy$MergeContext;
    MethodParameters:
              Name  Flags
      mergeContext  

  private static java.lang.String lambda$0(org.apache.lucene.index.MergePolicy$MergeContext, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$MergeContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 774
            aload 1 /* info */
            aload 0
            aload 1 /* info */
            invokeinterface org.apache.lucene.index.MergePolicy$MergeContext.numDeletedDocs:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:()I
            isub
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.toString:(I)Ljava/lang/String;
            areturn
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  info  Lorg/apache/lucene/index/SegmentCommitInfo;
}
SourceFile: "MergePolicy.java"
NestMembers:
  org.apache.lucene.index.MergePolicy$MergeAbortedException  org.apache.lucene.index.MergePolicy$MergeContext  org.apache.lucene.index.MergePolicy$MergeException  org.apache.lucene.index.MergePolicy$MergeReader  org.apache.lucene.index.MergePolicy$MergeSpecification  org.apache.lucene.index.MergePolicy$OneMerge  org.apache.lucene.index.MergePolicy$OneMergeProgress  org.apache.lucene.index.MergePolicy$OneMergeProgress$PauseReason
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public MergeAbortedException = org.apache.lucene.index.MergePolicy$MergeAbortedException of org.apache.lucene.index.MergePolicy
  public abstract MergeContext = org.apache.lucene.index.MergePolicy$MergeContext of org.apache.lucene.index.MergePolicy
  public MergeException = org.apache.lucene.index.MergePolicy$MergeException of org.apache.lucene.index.MergePolicy
  final MergeReader = org.apache.lucene.index.MergePolicy$MergeReader of org.apache.lucene.index.MergePolicy
  public MergeSpecification = org.apache.lucene.index.MergePolicy$MergeSpecification of org.apache.lucene.index.MergePolicy
  public OneMerge = org.apache.lucene.index.MergePolicy$OneMerge of org.apache.lucene.index.MergePolicy
  public OneMergeProgress = org.apache.lucene.index.MergePolicy$OneMergeProgress of org.apache.lucene.index.MergePolicy