public class org.apache.lucene.index.IndexWriter implements java.io.Closeable, org.apache.lucene.index.TwoPhaseCommit, org.apache.lucene.util.Accountable, org.apache.lucene.index.MergePolicy$MergeContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.index.IndexWriter
  super_class: java.lang.Object
{
  public static final int MAX_DOCS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483519

  public static final int MAX_POSITION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483519

  private static int actualMaxDocs;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private static final int UNBOUNDED_MAX_MERGE_SEGMENTS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final java.lang.String WRITE_LOCK_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "write.lock"

  public static final java.lang.String SOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "source"

  public static final java.lang.String SOURCE_MERGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "merge"

  public static final java.lang.String SOURCE_FLUSH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "flush"

  public static final java.lang.String SOURCE_ADDINDEXES_READERS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "addIndexes(CodecReader...)"

  public static final int MAX_TERM_LENGTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32766

  public static final int MAX_STORED_STRING_LENGTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> tragedy;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;

  private final org.apache.lucene.store.Directory directoryOrig;
    descriptor: Lorg/apache/lucene/store/Directory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.store.Directory directory;
    descriptor: Lorg/apache/lucene/store/Directory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong changeCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile long lastCommitChangeCount;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.util.List<org.apache.lucene.index.SegmentCommitInfo> rollbackSegments;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;

  private volatile org.apache.lucene.index.SegmentInfos pendingCommit;
    descriptor: Lorg/apache/lucene/index/SegmentInfos;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long pendingSeqNo;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long pendingCommitChangeCount;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.util.Collection<java.lang.String> filesToCommit;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  private final org.apache.lucene.index.SegmentInfos segmentInfos;
    descriptor: Lorg/apache/lucene/index/SegmentInfos;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.lucene.index.FieldInfos$FieldNumbers globalFieldNumberMap;
    descriptor: Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
    flags: (0x0010) ACC_FINAL

  final org.apache.lucene.index.DocumentsWriter docWriter;
    descriptor: Lorg/apache/lucene/index/DocumentsWriter;
    flags: (0x0010) ACC_FINAL

  private final org.apache.lucene.index.IndexWriter$EventQueue eventQueue;
    descriptor: Lorg/apache/lucene/index/IndexWriter$EventQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.MergeScheduler$MergeSource mergeSource;
    descriptor: Lorg/apache/lucene/index/MergeScheduler$MergeSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.ReentrantLock writeDocValuesLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.IndexFileDeleter deleter;
    descriptor: Lorg/apache/lucene/index/IndexFileDeleter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<org.apache.lucene.index.SegmentCommitInfo, java.lang.Boolean> segmentsToMerge;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/apache/lucene/index/SegmentCommitInfo;Ljava/lang/Boolean;>;

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

  private org.apache.lucene.store.Lock writeLock;
    descriptor: Lorg/apache/lucene/store/Lock;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean closed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean closing;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.concurrent.atomic.AtomicBoolean maybeMerge;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Iterable<java.util.Map$Entry<java.lang.String, java.lang.String>> commitUserData;
    descriptor: Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;

  private final java.util.HashSet<org.apache.lucene.index.SegmentCommitInfo> mergingSegments;
    descriptor: Ljava/util/HashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashSet<Lorg/apache/lucene/index/SegmentCommitInfo;>;

  private final org.apache.lucene.index.MergeScheduler mergeScheduler;
    descriptor: Lorg/apache/lucene/index/MergeScheduler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<org.apache.lucene.index.SegmentMerger> runningAddIndexesMerges;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/lucene/index/SegmentMerger;>;

  private final java.util.LinkedList<org.apache.lucene.index.MergePolicy$OneMerge> pendingMerges;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedList<Lorg/apache/lucene/index/MergePolicy$OneMerge;>;

  private final java.util.Set<org.apache.lucene.index.MergePolicy$OneMerge> runningMerges;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/lucene/index/MergePolicy$OneMerge;>;

  private final java.util.List<org.apache.lucene.index.MergePolicy$OneMerge> mergeExceptions;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/lucene/index/MergePolicy$OneMerge;>;

  private long mergeGen;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private org.apache.lucene.index.IndexWriter$Merges merges;
    descriptor: Lorg/apache/lucene/index/IndexWriter$Merges;
    flags: (0x0002) ACC_PRIVATE

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

  private final java.util.concurrent.atomic.AtomicInteger flushCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicInteger flushDeletesCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.ReaderPool readerPool;
    descriptor: Lorg/apache/lucene/index/ReaderPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.BufferedUpdatesStream bufferedUpdatesStream;
    descriptor: Lorg/apache/lucene/index/BufferedUpdatesStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong mergeFinishedGen;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.index.LiveIndexWriterConfig config;
    descriptor: Lorg/apache/lucene/index/LiveIndexWriterConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long startCommitTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.atomic.AtomicLong pendingNumDocs;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.apache.lucene.index.DocumentsWriter$FlushNotifications flushNotifications;
    descriptor: Lorg/apache/lucene/index/DocumentsWriter$FlushNotifications;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.lang.Object commitLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object fullFlushLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$org$apache$lucene$index$DocValuesType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$apache$lucene$index$MergeTrigger;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 219
            ldc Lorg/apache/lucene/index/IndexWriter;
            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.IndexWriter.$assertionsDisabled:Z
         3: .line 234
            ldc 2147483519
            putstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
         4: .line 281
            getstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            iconst_3
            idiv
            putstatic org.apache.lucene.index.IndexWriter.MAX_STORED_STRING_LENGTH:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void setMaxDocs(int);
    descriptor: (I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int maxDocs
         0: .line 238
            iload 0 /* maxDocs */
            ldc 2147483519
            if_icmple 2
         1: .line 240
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxDocs must be <= IndexWriter.MAX_DOCS=2147483519; got: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* maxDocs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 242
      StackMap locals:
      StackMap stack:
            iload 0 /* maxDocs */
            putstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
         3: .line 243
            return
        end local 0 // int maxDocs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  maxDocs  I
    MethodParameters:
         Name  Flags
      maxDocs  

  static int getActualMaxDocs();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 246
            getstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  org.apache.lucene.index.DirectoryReader getReader();
    descriptor: ()Lorg/apache/lucene/index/DirectoryReader;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 473
            aload 0 /* this */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getReader:(ZZ)Lorg/apache/lucene/index/DirectoryReader;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  org.apache.lucene.index.DirectoryReader getReader(boolean, boolean);
    descriptor: (ZZ)Lorg/apache/lucene/index/DirectoryReader;
    flags: (0x0000) 
    Code:
      stack=10, locals=24, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean applyAllDeletes
        start local 2 // boolean writeAllDeletes
         0: .line 535
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 537
            iload 2 /* writeAllDeletes */
            ifeq 3
            iload 1 /* applyAllDeletes */
            ifne 3
         2: .line 538
            new java.lang.IllegalArgumentException
            dup
            ldc "applyAllDeletes must be true when writeAllDeletes=true"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 541
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* tStart */
        start local 3 // long tStart
         4: .line 543
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 544
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "flush at getReader"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 549
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.enableReaderPooling:()V
         7: .line 550
            aconst_null
            astore 5 /* r */
        start local 5 // org.apache.lucene.index.StandardDirectoryReader r
         8: .line 551
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doBeforeFlush:()V
         9: .line 553
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMaxFullFlushMergeWaitMillis:()J
            lstore 7 /* maxFullFlushMergeWaitMillis */
        start local 7 // long maxFullFlushMergeWaitMillis
        10: .line 561
            aconst_null
            astore 9 /* onGetReaderMerges */
        start local 9 // org.apache.lucene.index.MergePolicy$MergeSpecification onGetReaderMerges
        11: .line 562
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 10 /* stopCollectingMergedReaders */
        start local 10 // java.util.concurrent.atomic.AtomicBoolean stopCollectingMergedReaders
        12: .line 563
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 11 /* mergedReaders */
        start local 11 // java.util.Map mergedReaders
        13: .line 564
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* openedReadOnlyClones */
        start local 12 // java.util.Map openedReadOnlyClones
        14: .line 567
            aload 0 /* this */
            lload 7 /* maxFullFlushMergeWaitMillis */
            aload 12 /* openedReadOnlyClones */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;JLjava/util/Map;)Lorg/apache/lucene/util/IOUtils$IOFunction;
              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/IndexWriter.lambda$0(JLjava/util/Map;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader; (7)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader;
            astore 13 /* readerFactory */
        start local 13 // org.apache.lucene.util.IOUtils$IOFunction readerFactory
        15: .line 580
            aconst_null
            astore 14 /* onGetReaderMergeResources */
        start local 14 // java.io.Closeable onGetReaderMergeResources
        16: .line 581
            aconst_null
            astore 15 /* openingSegmentInfos */
        start local 15 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        17: .line 582
            iconst_0
            istore 16 /* success2 */
        start local 16 // boolean success2
        18: .line 601
            iconst_0
            istore 17 /* success */
        start local 17 // boolean success
        19: .line 602
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            dup
            astore 18
            monitorenter
        20: .line 605
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.flushAllThreads:()J
            lconst_0
            lcmp
            ifge 21
            iconst_1
            goto 22
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 6 /* anyChanges */
        start local 6 // boolean anyChanges
        23: .line 606
            iload 6 /* anyChanges */
            ifne 25
        24: .line 609
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        25: .line 611
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.publishFlushedSegments:(Z)V
        26: .line 612
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        27: .line 614
            iload 1 /* applyAllDeletes */
            ifeq 29
        28: .line 615
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.applyAllDeletesAndUpdates:()V
        29: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 19
            monitorenter
        30: .line 624
            aload 0 /* this */
            iload 2 /* writeAllDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.writeReaderPool:(Z)V
        31: .line 629
            aload 0 /* this */
            aload 13 /* readerFactory */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iload 1 /* applyAllDeletes */
            iload 2 /* writeAllDeletes */
            invokestatic org.apache.lucene.index.StandardDirectoryReader.open:(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/util/IOUtils$IOFunction;Lorg/apache/lucene/index/SegmentInfos;ZZ)Lorg/apache/lucene/index/StandardDirectoryReader;
            astore 5 /* r */
        32: .line 630
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 34
        33: .line 631
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "return reader version="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* r */
            invokevirtual org.apache.lucene.index.StandardDirectoryReader.getVersion:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " reader="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* r */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        34: .line 633
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            lload 7 /* maxFullFlushMergeWaitMillis */
            lconst_0
            lcmp
            ifle 40
        35: .line 642
            aload 5 /* r */
            invokevirtual org.apache.lucene.index.StandardDirectoryReader.getSegmentInfos:()Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.clone:()Lorg/apache/lucene/index/SegmentInfos;
            astore 15 /* openingSegmentInfos */
        36: .line 643
            aload 0 /* this */
            aload 15 /* openingSegmentInfos */
            aload 10 /* stopCollectingMergedReaders */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic getAsBoolean(Ljava/util/concurrent/atomic/AtomicBoolean;)Ljava/util/function/BooleanSupplier;
              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:
                  ()Z
                  java/util/concurrent/atomic/AtomicBoolean.get()Z (5)
                  ()Z
            getstatic org.apache.lucene.index.MergeTrigger.GET_READER:Lorg/apache/lucene/index/MergeTrigger;
        37: .line 644
            aload 0 /* this */
            aload 10 /* stopCollectingMergedReaders */
            aload 13 /* readerFactory */
            aload 11 /* mergedReaders */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/apache/lucene/util/IOUtils$IOFunction;Ljava/util/Map;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$2(Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/apache/lucene/util/IOUtils$IOFunction;Ljava/util/Map;Lorg/apache/lucene/index/SegmentCommitInfo;)V (7)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)V
        38: .line 643
            invokevirtual org.apache.lucene.index.IndexWriter.preparePointInTimeMerge:(Lorg/apache/lucene/index/SegmentInfos;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/util/IOUtils$IOConsumer;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 9 /* onGetReaderMerges */
        39: .line 652
            aload 0 /* this */
            aload 10 /* stopCollectingMergedReaders */
            aload 11 /* mergedReaders */
            invokedynamic close(Lorg/apache/lucene/index/IndexWriter;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map;)Ljava/io/Closeable;
              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:
                  ()V
                  org/apache/lucene/index/IndexWriter.lambda$3(Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map;)V (7)
                  ()V
            astore 14 /* onGetReaderMergeResources */
        40: .line 617
      StackMap locals:
      StackMap stack:
            aload 19
            monitorexit
        41: goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: aload 19
            monitorexit
        43: athrow
        44: .line 669
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 17 /* success */
        45: .line 670
            goto 56
        end local 6 // boolean anyChanges
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object
      StackMap stack: java.lang.Throwable
        46: astore 21
        47: .line 672
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 48
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 673
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 17 /* success */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        49: .line 674
            iload 17 /* success */
            ifeq 53
        50: .line 675
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        51: .line 676
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        52: .line 677
            goto 55
        53: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 55
        54: .line 679
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during NRT reader"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        55: .line 682
      StackMap locals:
      StackMap stack:
            aload 21
            athrow
        start local 6 // boolean anyChanges
        56: .line 672
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 57
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 57
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        57: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 17 /* success */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        58: .line 674
            iload 17 /* success */
            ifeq 62
        59: .line 675
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        60: .line 676
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        61: .line 677
            goto 64
        62: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 64
        63: .line 679
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during NRT reader"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        64: .line 602
      StackMap locals:
      StackMap stack:
            aload 18
            monitorexit
        65: goto 68
        end local 6 // boolean anyChanges
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int java.lang.Object
      StackMap stack: java.lang.Throwable
        66: aload 18
            monitorexit
        67: athrow
        start local 6 // boolean anyChanges
        68: .line 684
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int
      StackMap stack:
            aload 9 /* onGetReaderMerges */
            ifnull 80
        69: .line 685
            aload 0 /* this */
            aload 10 /* stopCollectingMergedReaders */
            aload 11 /* mergedReaders */
        70: .line 686
            aload 12 /* openedReadOnlyClones */
            aload 15 /* openingSegmentInfos */
            iload 1 /* applyAllDeletes */
        71: .line 687
            iload 2 /* writeAllDeletes */
            aload 9 /* onGetReaderMerges */
            lload 7 /* maxFullFlushMergeWaitMillis */
        72: .line 685
            invokevirtual org.apache.lucene.index.IndexWriter.finishGetReaderMerge:(Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map;Ljava/util/Map;Lorg/apache/lucene/index/SegmentInfos;ZZLorg/apache/lucene/index/MergePolicy$MergeSpecification;J)Lorg/apache/lucene/index/StandardDirectoryReader;
            astore 18 /* mergedReader */
        start local 18 // org.apache.lucene.index.StandardDirectoryReader mergedReader
        73: .line 688
            aload 18 /* mergedReader */
            ifnull 80
        74: .line 690
            aload 5 /* r */
            invokevirtual org.apache.lucene.index.StandardDirectoryReader.close:()V
        75: .line 691
            goto 79
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int int org.apache.lucene.index.StandardDirectoryReader
      StackMap stack: java.lang.Throwable
        76: astore 19
        77: .line 692
            aload 18 /* mergedReader */
            astore 5 /* r */
        78: .line 693
            aload 19
            athrow
        79: .line 692
      StackMap locals:
      StackMap stack:
            aload 18 /* mergedReader */
            astore 5 /* r */
        end local 18 // org.apache.lucene.index.StandardDirectoryReader mergedReader
        80: .line 697
      StackMap locals:
      StackMap stack:
            iload 6 /* anyChanges */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ior
            istore 6 /* anyChanges */
        81: .line 698
            iload 6 /* anyChanges */
            ifeq 83
        82: .line 699
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.FULL_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
        83: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 85
        84: .line 702
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "getReader took "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* tStart */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " msec"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        85: .line 704
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* success2 */
        end local 17 // boolean success
        86: .line 705
            goto 103
        end local 6 // boolean anyChanges
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int
      StackMap stack: java.lang.VirtualMachineError
        87: astore 17 /* tragedy */
        start local 17 // java.lang.VirtualMachineError tragedy
        88: .line 706
            aload 0 /* this */
            aload 17 /* tragedy */
            ldc "getReader"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        89: .line 707
            aload 17 /* tragedy */
            athrow
        end local 17 // java.lang.VirtualMachineError tragedy
        90: .line 708
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 22
        91: .line 709
            iload 16 /* success2 */
            ifne 100
        92: .line 710
            iconst_2
            anewarray java.io.Closeable
            dup
            iconst_0
        93: .line 711
            aload 5 /* r */
            aastore
            dup
            iconst_1
            aload 14 /* onGetReaderMergeResources */
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
        94: .line 712
            goto 98
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader top long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int top top top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        95: astore 23
        96: .line 713
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        97: .line 714
            aload 23
            athrow
        98: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        99: .line 715
            goto 102
      StackMap locals:
      StackMap stack:
       100: iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
       101: .line 716
            aload 14 /* onGetReaderMergeResources */
            aastore
            invokestatic org.apache.lucene.util.IOUtils.close:([Ljava/io/Closeable;)V
       102: .line 718
      StackMap locals:
      StackMap stack:
            aload 22
            athrow
        start local 6 // boolean anyChanges
       103: .line 709
      StackMap locals: org.apache.lucene.index.IndexWriter int int long org.apache.lucene.index.StandardDirectoryReader int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.util.IOUtils$IOFunction java.io.Closeable org.apache.lucene.index.SegmentInfos int
      StackMap stack:
            iload 16 /* success2 */
            ifne 112
       104: .line 710
            iconst_2
            anewarray java.io.Closeable
            dup
            iconst_0
       105: .line 711
            aload 5 /* r */
            aastore
            dup
            iconst_1
            aload 14 /* onGetReaderMergeResources */
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
       106: .line 712
            goto 110
      StackMap locals:
      StackMap stack: java.lang.Throwable
       107: astore 23
       108: .line 713
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
       109: .line 714
            aload 23
            athrow
       110: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
       111: .line 715
            goto 114
      StackMap locals:
      StackMap stack:
       112: iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
       113: .line 716
            aload 14 /* onGetReaderMergeResources */
            aastore
            invokestatic org.apache.lucene.util.IOUtils.close:([Ljava/io/Closeable;)V
       114: .line 719
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            areturn
        end local 16 // boolean success2
        end local 15 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        end local 14 // java.io.Closeable onGetReaderMergeResources
        end local 13 // org.apache.lucene.util.IOUtils$IOFunction readerFactory
        end local 12 // java.util.Map openedReadOnlyClones
        end local 11 // java.util.Map mergedReaders
        end local 10 // java.util.concurrent.atomic.AtomicBoolean stopCollectingMergedReaders
        end local 9 // org.apache.lucene.index.MergePolicy$MergeSpecification onGetReaderMerges
        end local 7 // long maxFullFlushMergeWaitMillis
        end local 6 // boolean anyChanges
        end local 5 // org.apache.lucene.index.StandardDirectoryReader r
        end local 3 // long tStart
        end local 2 // boolean writeAllDeletes
        end local 1 // boolean applyAllDeletes
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  115     0                         this  Lorg/apache/lucene/index/IndexWriter;
            0  115     1              applyAllDeletes  Z
            0  115     2              writeAllDeletes  Z
            4  115     3                       tStart  J
            8  115     5                            r  Lorg/apache/lucene/index/StandardDirectoryReader;
           23   46     6                   anyChanges  Z
           56   66     6                   anyChanges  Z
           68   87     6                   anyChanges  Z
          103  115     6                   anyChanges  Z
           10  115     7  maxFullFlushMergeWaitMillis  J
           11  115     9            onGetReaderMerges  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           12  115    10  stopCollectingMergedReaders  Ljava/util/concurrent/atomic/AtomicBoolean;
           13  115    11                mergedReaders  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
           14  115    12         openedReadOnlyClones  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
           15  115    13                readerFactory  Lorg/apache/lucene/util/IOUtils$IOFunction<Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/SegmentReader;>;
           16  115    14    onGetReaderMergeResources  Ljava/io/Closeable;
           17  115    15          openingSegmentInfos  Lorg/apache/lucene/index/SegmentInfos;
           18  115    16                     success2  Z
           19   86    17                      success  Z
           73   80    18                 mergedReader  Lorg/apache/lucene/index/StandardDirectoryReader;
           88   90    17                      tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
          30    41      42  any
          42    43      42  any
          20    46      46  any
          20    65      66  any
          66    67      66  any
          74    76      76  any
          18    86      87  Class java.lang.VirtualMachineError
          18    90      90  any
          92    95      95  any
         104   107     107  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      applyAllDeletes  
      writeAllDeletes  

  private org.apache.lucene.index.StandardDirectoryReader finishGetReaderMerge(java.util.concurrent.atomic.AtomicBoolean, java.util.Map<java.lang.String, org.apache.lucene.index.SegmentReader>, java.util.Map<java.lang.String, org.apache.lucene.index.SegmentReader>, org.apache.lucene.index.SegmentInfos, boolean, boolean, org.apache.lucene.index.MergePolicy$MergeSpecification, long);
    descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map;Ljava/util/Map;Lorg/apache/lucene/index/SegmentInfos;ZZLorg/apache/lucene/index/MergePolicy$MergeSpecification;J)Lorg/apache/lucene/index/StandardDirectoryReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=9
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.util.concurrent.atomic.AtomicBoolean stopCollectingMergedReaders
        start local 2 // java.util.Map mergedReaders
        start local 3 // java.util.Map openedReadOnlyClones
        start local 4 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        start local 5 // boolean applyAllDeletes
        start local 6 // boolean writeAllDeletes
        start local 7 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
        start local 8 // long maxCommitMergeWaitMillis
         0: .line 726
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 4 /* openingSegmentInfos */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
            getstatic org.apache.lucene.index.MergeTrigger.GET_READER:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeScheduler.merge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergeTrigger;)V
         2: .line 728
            aload 7 /* pointInTimeMerges */
            lload 8 /* maxCommitMergeWaitMillis */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.lucene.index.MergePolicy$MergeSpecification.await:(JLjava/util/concurrent/TimeUnit;)Z
            pop
         3: .line 729
            aload 0 /* this */
            dup
            astore 10
            monitorenter
         4: .line 730
            aload 1 /* stopCollectingMergedReaders */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         5: .line 731
            aload 0 /* this */
            aload 2 /* mergedReaders */
            aload 3 /* openedReadOnlyClones */
            aload 4 /* openingSegmentInfos */
         6: .line 732
            iload 5 /* applyAllDeletes */
            iload 6 /* writeAllDeletes */
         7: .line 731
            invokevirtual org.apache.lucene.index.IndexWriter.maybeReopenMergedNRTReader:(Ljava/util/Map;Ljava/util/Map;Lorg/apache/lucene/index/SegmentInfos;ZZ)Lorg/apache/lucene/index/StandardDirectoryReader;
            astore 11 /* reader */
        start local 11 // org.apache.lucene.index.StandardDirectoryReader reader
         8: .line 733
            aload 2 /* mergedReaders */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.apache.lucene.util.IOUtils.close:(Ljava/lang/Iterable;)V
         9: .line 734
            aload 2 /* mergedReaders */
            invokeinterface java.util.Map.clear:()V
        10: .line 735
            aload 11 /* reader */
            aload 10
            monitorexit
        11: areturn
        end local 11 // org.apache.lucene.index.StandardDirectoryReader reader
        12: .line 729
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.concurrent.atomic.AtomicBoolean java.util.Map java.util.Map org.apache.lucene.index.SegmentInfos int int org.apache.lucene.index.MergePolicy$MergeSpecification long org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
            aload 10
            monitorexit
        13: athrow
        end local 8 // long maxCommitMergeWaitMillis
        end local 7 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
        end local 6 // boolean writeAllDeletes
        end local 5 // boolean applyAllDeletes
        end local 4 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        end local 3 // java.util.Map openedReadOnlyClones
        end local 2 // java.util.Map mergedReaders
        end local 1 // java.util.concurrent.atomic.AtomicBoolean stopCollectingMergedReaders
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lorg/apache/lucene/index/IndexWriter;
            0   14     1  stopCollectingMergedReaders  Ljava/util/concurrent/atomic/AtomicBoolean;
            0   14     2                mergedReaders  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
            0   14     3         openedReadOnlyClones  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
            0   14     4          openingSegmentInfos  Lorg/apache/lucene/index/SegmentInfos;
            0   14     5              applyAllDeletes  Z
            0   14     6              writeAllDeletes  Z
            0   14     7            pointInTimeMerges  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            0   14     8     maxCommitMergeWaitMillis  J
            8   12    11                       reader  Lorg/apache/lucene/index/StandardDirectoryReader;
      Exception table:
        from    to  target  type
           4    11      12  any
          12    13      12  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;Lorg/apache/lucene/index/SegmentInfos;ZZLorg/apache/lucene/index/MergePolicy$MergeSpecification;J)Lorg/apache/lucene/index/StandardDirectoryReader;
    MethodParameters:
                             Name  Flags
      stopCollectingMergedReaders  
      mergedReaders                
      openedReadOnlyClones         
      openingSegmentInfos          
      applyAllDeletes              
      writeAllDeletes              
      pointInTimeMerges            
      maxCommitMergeWaitMillis     

  private org.apache.lucene.index.StandardDirectoryReader maybeReopenMergedNRTReader(java.util.Map<java.lang.String, org.apache.lucene.index.SegmentReader>, java.util.Map<java.lang.String, org.apache.lucene.index.SegmentReader>, org.apache.lucene.index.SegmentInfos, boolean, boolean);
    descriptor: (Ljava/util/Map;Ljava/util/Map;Lorg/apache/lucene/index/SegmentInfos;ZZ)Lorg/apache/lucene/index/StandardDirectoryReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.util.Map mergedReaders
        start local 2 // java.util.Map openedReadOnlyClones
        start local 3 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        start local 4 // boolean applyAllDeletes
        start local 5 // boolean writeAllDeletes
         0: .line 742
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 743
      StackMap locals:
      StackMap stack:
            aload 1 /* mergedReaders */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 12
         2: .line 744
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* files */
        start local 6 // java.util.Collection files
         3: .line 746
            aload 0 /* this */
         4: .line 747
            aload 1 /* mergedReaders */
            aload 2 /* openedReadOnlyClones */
            aload 6 /* files */
            invokedynamic apply(Ljava/util/Map;Ljava/util/Map;Ljava/util/Collection;)Lorg/apache/lucene/util/IOUtils$IOFunction;
              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/IndexWriter.lambda$6(Ljava/util/Map;Ljava/util/Map;Ljava/util/Collection;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader; (6)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader;
         5: .line 762
            aload 3 /* openingSegmentInfos */
            iload 4 /* applyAllDeletes */
            iload 5 /* writeAllDeletes */
         6: .line 746
            invokestatic org.apache.lucene.index.StandardDirectoryReader.open:(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/util/IOUtils$IOFunction;Lorg/apache/lucene/index/SegmentInfos;ZZ)Lorg/apache/lucene/index/StandardDirectoryReader;
            astore 8
         7: .line 765
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 6 /* files */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
         8: .line 746
            aload 8
            areturn
         9: .line 763
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.Map java.util.Map org.apache.lucene.index.SegmentInfos int int java.util.Collection
      StackMap stack: java.lang.Throwable
            astore 7
        10: .line 765
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 6 /* files */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
        11: .line 766
            aload 7
            athrow
        end local 6 // java.util.Collection files
        12: .line 768
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean writeAllDeletes
        end local 4 // boolean applyAllDeletes
        end local 3 // org.apache.lucene.index.SegmentInfos openingSegmentInfos
        end local 2 // java.util.Map openedReadOnlyClones
        end local 1 // java.util.Map mergedReaders
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lorg/apache/lucene/index/IndexWriter;
            0   13     1         mergedReaders  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
            0   13     2  openedReadOnlyClones  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;
            0   13     3   openingSegmentInfos  Lorg/apache/lucene/index/SegmentInfos;
            0   13     4       applyAllDeletes  Z
            0   13     5       writeAllDeletes  Z
            3   12     6                 files  Ljava/util/Collection<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           3     7       9  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/SegmentReader;>;Lorg/apache/lucene/index/SegmentInfos;ZZ)Lorg/apache/lucene/index/StandardDirectoryReader;
    MethodParameters:
                      Name  Flags
      mergedReaders         
      openedReadOnlyClones  
      openingSegmentInfos   
      applyAllDeletes       
      writeAllDeletes       

  public final long ramBytesUsed();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 773
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 774
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.ramBytesUsed:()J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  public final long getFlushingBytes();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 781
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 782
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getFlushingBytes:()J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  final void writeSomeDocValuesUpdates();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=11, locals=16, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 786
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeDocValuesLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
            ifeq 42
         1: .line 788
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getRAMBufferSizeMB:()D
            dstore 1 /* ramBufferSizeMB */
        start local 1 // double ramBufferSizeMB
         2: .line 790
            dload 1 /* ramBufferSizeMB */
            ldc -1.0
            dcmpl
            ifeq 41
         3: .line 791
            invokestatic java.lang.System.nanoTime:()J
            lstore 3 /* startNS */
        start local 3 // long startNS
         4: .line 793
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.ramBytesUsed:()J
            lstore 5 /* ramBytesUsed */
        start local 5 // long ramBytesUsed
         5: .line 794
            lload 5 /* ramBytesUsed */
            l2d
            ldc 0.5
            dload 1 /* ramBufferSizeMB */
            dmul
            ldc 1024.0
            dmul
            ldc 1024.0
            dmul
            dcmpl
            ifle 41
         6: .line 795
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 796
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            ldc "now write some pending DV updates: %.2f MB used vs IWC Buffer %.2f MB"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 797
            lload 5 /* ramBytesUsed */
            l2d
            ldc 1024.0
            ddiv
            ldc 1024.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            dload 1 /* ramBufferSizeMB */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
         9: .line 796
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 801
      StackMap locals: double long long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.getReadersByRam:()Ljava/util/List;
            astore 7 /* list */
        start local 7 // java.util.List list
        11: .line 802
            iconst_0
            istore 8 /* count */
        start local 8 // int count
        12: .line 803
            aload 7 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 32
      StackMap locals: org.apache.lucene.index.IndexWriter double long long java.util.List int top java.util.Iterator
      StackMap stack:
        13: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.ReadersAndUpdates
            astore 9 /* rld */
        start local 9 // org.apache.lucene.index.ReadersAndUpdates rld
        14: .line 805
            lload 5 /* ramBytesUsed */
            l2d
            ldc 0.5
            dload 1 /* ramBufferSizeMB */
            dmul
            ldc 1024.0
            dmul
            ldc 1024.0
            dmul
            dcmpg
            ifgt 16
        15: .line 806
            goto 33
        16: .line 810
      StackMap locals: org.apache.lucene.index.IndexWriter double long long java.util.List int org.apache.lucene.index.ReadersAndUpdates java.util.Iterator
      StackMap stack:
            aload 9 /* rld */
            getfield org.apache.lucene.index.ReadersAndUpdates.ramBytesUsed:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 11 /* bytesUsedBefore */
        start local 11 // long bytesUsedBefore
        17: .line 811
            lload 11 /* bytesUsedBefore */
            lconst_0
            lcmp
            ifne 19
        18: .line 812
            goto 32
        19: .line 816
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
        20: .line 821
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 9 /* rld */
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            iconst_0
            invokevirtual org.apache.lucene.index.ReaderPool.get:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            ifnonnull 23
        21: .line 822
            aload 13
            monitorexit
        22: goto 32
        23: .line 824
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 9 /* rld */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.getCompletedDelGen:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.writeFieldUpdates:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/FieldInfos$FieldNumbers;JLorg/apache/lucene/util/InfoStream;)Z
            ifeq 25
        24: .line 825
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpointNoSIS:()V
        25: .line 816
      StackMap locals:
      StackMap stack:
            aload 13
            monitorexit
        26: goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: aload 13
            monitorexit
        28: athrow
        29: .line 828
      StackMap locals:
      StackMap stack:
            aload 9 /* rld */
            getfield org.apache.lucene.index.ReadersAndUpdates.ramBytesUsed:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 13 /* bytesUsedAfter */
        start local 13 // long bytesUsedAfter
        30: .line 829
            lload 5 /* ramBytesUsed */
            lload 11 /* bytesUsedBefore */
            lload 13 /* bytesUsedAfter */
            lsub
            lsub
            lstore 5 /* ramBytesUsed */
        31: .line 830
            iinc 8 /* count */ 1
        end local 13 // long bytesUsedAfter
        end local 11 // long bytesUsedBefore
        end local 9 // org.apache.lucene.index.ReadersAndUpdates rld
        32: .line 803
      StackMap locals: org.apache.lucene.index.IndexWriter double long long java.util.List int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        33: .line 833
      StackMap locals: org.apache.lucene.index.IndexWriter double long long java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 41
        34: .line 834
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            ldc "done write some DV updates for %d segments: now %.2f MB used vs IWC Buffer %.2f MB; took %.2f sec"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        35: .line 835
            iload 8 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.ramBytesUsed:()J
            l2d
            ldc 1024.0
            ddiv
            ldc 1024.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            dload 1 /* ramBufferSizeMB */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_3
            invokestatic java.lang.System.nanoTime:()J
            lload 3 /* startNS */
            lsub
            l2d
            ldc 1.0E9
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        36: .line 834
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // int count
        end local 7 // java.util.List list
        end local 5 // long ramBytesUsed
        end local 3 // long startNS
        end local 1 // double ramBufferSizeMB
        37: .line 839
            goto 41
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        38: astore 15
        39: .line 840
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeDocValuesLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        40: .line 841
            aload 15
            athrow
        41: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeDocValuesLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        42: .line 843
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   43     0             this  Lorg/apache/lucene/index/IndexWriter;
            2   37     1  ramBufferSizeMB  D
            4   37     3          startNS  J
            5   37     5     ramBytesUsed  J
           11   37     7             list  Ljava/util/List<Lorg/apache/lucene/index/ReadersAndUpdates;>;
           12   37     8            count  I
           14   32     9              rld  Lorg/apache/lucene/index/ReadersAndUpdates;
           17   32    11  bytesUsedBefore  J
           30   32    13   bytesUsedAfter  J
      Exception table:
        from    to  target  type
          20    22      27  any
          23    26      27  any
          27    28      27  any
           1    38      38  any
    Exceptions:
      throws java.io.IOException

  public int numDeletedDocs(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 852
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 853
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.validate:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
         2: .line 854
            aload 0 /* this */
            aload 1 /* info */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 2 /* rld */
        start local 2 // org.apache.lucene.index.ReadersAndUpdates rld
         3: .line 855
            aload 2 /* rld */
            ifnull 5
         4: .line 856
            aload 2 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getDelCount:()I
            ireturn
         5: .line 858
      StackMap locals: org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            aload 1 /* info */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.softDeletesEnabled:Z
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:(Z)I
            istore 3 /* delCount */
        start local 3 // int delCount
         6: .line 859
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 7
            iload 3 /* delCount */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmple 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "delCount: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* delCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " maxDoc: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* 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
         7: .line 860
      StackMap locals: int
      StackMap stack:
            iload 3 /* delCount */
            ireturn
        end local 3 // int delCount
        end local 2 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/lucene/index/IndexWriter;
            0    8     1      info  Lorg/apache/lucene/index/SegmentCommitInfo;
            3    8     2       rld  Lorg/apache/lucene/index/ReadersAndUpdates;
            6    8     3  delCount  I
    MethodParameters:
      Name  Flags
      info  

  protected final void ensureOpen(boolean);
    descriptor: (Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean failIfClosing
         0: .line 876
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 1
            iload 1 /* failIfClosing */
            ifeq 2
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closing:Z
            ifeq 2
         1: .line 877
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.store.AlreadyClosedException
            dup
            ldc "this IndexWriter is closed"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial org.apache.lucene.store.AlreadyClosedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         2: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean failIfClosing
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  failIfClosing  Z
    Exceptions:
      throws org.apache.lucene.store.AlreadyClosedException
    MethodParameters:
               Name  Flags
      failIfClosing  

  protected final void ensureOpen();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 891
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 892
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws org.apache.lucene.store.AlreadyClosedException

  public void <init>(org.apache.lucene.store.Directory, org.apache.lucene.index.IndexWriterConfig);
    descriptor: (Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/IndexWriterConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=14, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.store.Directory d
        start local 2 // org.apache.lucene.index.IndexWriterConfig conf
         0: .line 915
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 284
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            aconst_null
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            putfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 289
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
         3: .line 304
            aload 0 /* this */
            new org.apache.lucene.index.IndexWriter$EventQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.index.IndexWriter$EventQueue.<init>:(Lorg/apache/lucene/index/IndexWriter;)V
            putfield org.apache.lucene.index.IndexWriter.eventQueue:Lorg/apache/lucene/index/IndexWriter$EventQueue;
         4: .line 305
            aload 0 /* this */
            new org.apache.lucene.index.IndexWriter$IndexWriterMergeSource
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.index.IndexWriter$IndexWriterMergeSource.<init>:(Lorg/apache/lucene/index/IndexWriter;)V
            putfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
         5: .line 307
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.writeDocValuesLock:Ljava/util/concurrent/locks/ReentrantLock;
         6: .line 385
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
         7: .line 393
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
         8: .line 399
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
         9: .line 401
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
        10: .line 402
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
        11: .line 403
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
        12: .line 404
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
        13: .line 406
            aload 0 /* this */
            new org.apache.lucene.index.IndexWriter$Merges
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.index.IndexWriter$Merges.<init>:(Lorg/apache/lucene/index/IndexWriter;)V
            putfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
        14: .line 408
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
        15: .line 409
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.flushDeletesCount:Ljava/util/concurrent/atomic/AtomicInteger;
        16: .line 415
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.mergeFinishedGen:Ljava/util/concurrent/atomic/AtomicLong;
        17: .line 430
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
        18: .line 433
            aload 0 /* this */
            new org.apache.lucene.index.IndexWriter$1
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.index.IndexWriter$1.<init>:(Lorg/apache/lucene/index/IndexWriter;)V
            putfield org.apache.lucene.index.IndexWriter.flushNotifications:Lorg/apache/lucene/index/DocumentsWriter$FlushNotifications;
        19: .line 3689
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.commitLock:Ljava/lang/Object;
        20: .line 3861
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
        21: .line 916
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.isEnableTestPoints:()Z
            putfield org.apache.lucene.index.IndexWriter.enableTestPoints:Z
        22: .line 917
            aload 2 /* conf */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriterConfig.setIndexWriter:(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/index/IndexWriterConfig;
            pop
        23: .line 918
            aload 0 /* this */
            aload 2 /* conf */
            putfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
        24: .line 919
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getInfoStream:()Lorg/apache/lucene/util/InfoStream;
            putfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
        25: .line 920
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getSoftDeletesField:()Ljava/lang/String;
            ifnull 26
            iconst_1
            goto 27
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig
      StackMap stack: org.apache.lucene.index.IndexWriter
        26: iconst_0
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig
      StackMap stack: org.apache.lucene.index.IndexWriter int
        27: putfield org.apache.lucene.index.IndexWriter.softDeletesEnabled:Z
        28: .line 923
            aload 0 /* this */
            aload 1 /* d */
            ldc "write.lock"
            invokevirtual org.apache.lucene.store.Directory.obtainLock:(Ljava/lang/String;)Lorg/apache/lucene/store/Lock;
            putfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
        29: .line 925
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        30: .line 927
            aload 0 /* this */
            aload 1 /* d */
            putfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
        31: .line 928
            aload 0 /* this */
            new org.apache.lucene.store.LockValidatingDirectoryWrapper
            dup
            aload 1 /* d */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
            invokespecial org.apache.lucene.store.LockValidatingDirectoryWrapper.<init>:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/store/Lock;)V
            putfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
        32: .line 929
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergeScheduler:()Lorg/apache/lucene/index/MergeScheduler;
            putfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
        33: .line 930
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.MergeScheduler.initialize:(Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/Directory;)V
        34: .line 931
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getOpenMode:()Lorg/apache/lucene/index/IndexWriterConfig$OpenMode;
            astore 4 /* mode */
        start local 4 // org.apache.lucene.index.IndexWriterConfig$OpenMode mode
        35: .line 934
            aload 4 /* mode */
            getstatic org.apache.lucene.index.IndexWriterConfig$OpenMode.CREATE:Lorg/apache/lucene/index/IndexWriterConfig$OpenMode;
            if_acmpne 39
        36: .line 935
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokestatic org.apache.lucene.index.DirectoryReader.indexExists:(Lorg/apache/lucene/store/Directory;)Z
            istore 5 /* indexExists */
        start local 5 // boolean indexExists
        37: .line 936
            iconst_1
            istore 6 /* create */
        start local 6 // boolean create
        38: .line 937
            goto 47
        end local 6 // boolean create
        end local 5 // boolean indexExists
      StackMap locals: int org.apache.lucene.index.IndexWriterConfig$OpenMode
      StackMap stack:
        39: aload 4 /* mode */
            getstatic org.apache.lucene.index.IndexWriterConfig$OpenMode.APPEND:Lorg/apache/lucene/index/IndexWriterConfig$OpenMode;
            if_acmpne 43
        40: .line 938
            iconst_1
            istore 5 /* indexExists */
        start local 5 // boolean indexExists
        41: .line 939
            iconst_0
            istore 6 /* create */
        start local 6 // boolean create
        42: .line 940
            goto 47
        end local 6 // boolean create
        end local 5 // boolean indexExists
        43: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokestatic org.apache.lucene.index.DirectoryReader.indexExists:(Lorg/apache/lucene/store/Directory;)Z
            istore 5 /* indexExists */
        start local 5 // boolean indexExists
        44: .line 943
            iload 5 /* indexExists */
            ifeq 45
            iconst_0
            goto 46
      StackMap locals: int
      StackMap stack:
        45: iconst_1
      StackMap locals:
      StackMap stack: int
        46: istore 6 /* create */
        start local 6 // boolean create
        47: .line 949
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.store.Directory.listAll:()[Ljava/lang/String;
            astore 7 /* files */
        start local 7 // java.lang.String[] files
        48: .line 952
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexCommit:()Lorg/apache/lucene/index/IndexCommit;
            astore 8 /* commit */
        start local 8 // org.apache.lucene.index.IndexCommit commit
        49: .line 956
            aload 8 /* commit */
            ifnonnull 52
        50: .line 957
            aconst_null
            astore 9 /* reader */
        start local 9 // org.apache.lucene.index.StandardDirectoryReader reader
        51: .line 958
            goto 53
        end local 9 // org.apache.lucene.index.StandardDirectoryReader reader
        52: .line 959
      StackMap locals: java.lang.String[] org.apache.lucene.index.IndexCommit
      StackMap stack:
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getReader:()Lorg/apache/lucene/index/StandardDirectoryReader;
            astore 9 /* reader */
        start local 9 // org.apache.lucene.index.StandardDirectoryReader reader
        53: .line 962
      StackMap locals: org.apache.lucene.index.StandardDirectoryReader
      StackMap stack:
            iload 6 /* create */
            ifeq 66
        54: .line 964
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexCommit:()Lorg/apache/lucene/index/IndexCommit;
            ifnull 58
        55: .line 966
            aload 4 /* mode */
            getstatic org.apache.lucene.index.IndexWriterConfig$OpenMode.CREATE:Lorg/apache/lucene/index/IndexWriterConfig$OpenMode;
            if_acmpne 57
        56: .line 967
            new java.lang.IllegalArgumentException
            dup
            ldc "cannot use IndexWriterConfig.setIndexCommit() with OpenMode.CREATE"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 969
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "cannot use IndexWriterConfig.setIndexCommit() when index has no commit"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        58: .line 977
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.SegmentInfos
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexCreatedVersionMajor:()I
            invokespecial org.apache.lucene.index.SegmentInfos.<init>:(I)V
            astore 10 /* sis */
        start local 10 // org.apache.lucene.index.SegmentInfos sis
        59: .line 978
            iload 5 /* indexExists */
            ifeq 62
        60: .line 979
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokestatic org.apache.lucene.index.SegmentInfos.readLatestCommit:(Lorg/apache/lucene/store/Directory;)Lorg/apache/lucene/index/SegmentInfos;
            astore 11 /* previous */
        start local 11 // org.apache.lucene.index.SegmentInfos previous
        61: .line 980
            aload 10 /* sis */
            aload 11 /* previous */
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGenerationVersionAndCounter:(Lorg/apache/lucene/index/SegmentInfos;)V
        end local 11 // org.apache.lucene.index.SegmentInfos previous
        62: .line 982
      StackMap locals: org.apache.lucene.index.SegmentInfos
      StackMap stack:
            aload 0 /* this */
            aload 10 /* sis */
            putfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
        63: .line 983
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.createBackupSegmentInfos:()Ljava/util/List;
            putfield org.apache.lucene.index.IndexWriter.rollbackSegments:Ljava/util/List;
        64: .line 987
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
        end local 10 // org.apache.lucene.index.SegmentInfos sis
        65: .line 989
            goto 97
      StackMap locals:
      StackMap stack:
        66: aload 9 /* reader */
            ifnull 84
        67: .line 992
            aload 9 /* reader */
            invokevirtual org.apache.lucene.index.StandardDirectoryReader.directory:()Lorg/apache/lucene/store/Directory;
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getDirectory:()Lorg/apache/lucene/store/Directory;
            if_acmpeq 69
        68: .line 993
            new java.lang.IllegalArgumentException
            dup
            ldc "IndexCommit's reader must have the same directory as the IndexCommit"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        69: .line 996
      StackMap locals:
      StackMap stack:
            aload 9 /* reader */
            invokevirtual org.apache.lucene.index.StandardDirectoryReader.directory:()Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            if_acmpeq 71
        70: .line 997
            new java.lang.IllegalArgumentException
            dup
            ldc "IndexCommit's reader must have the same directory passed to IndexWriter"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 1000
      StackMap locals:
      StackMap stack:
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getLastGeneration:()J
            lconst_0
            lcmp
            ifne 73
        72: .line 1002
            new java.lang.IllegalArgumentException
            dup
            ldc "index must already have an initial commit to open from reader"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        73: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.clone:()Lorg/apache/lucene/index/SegmentInfos;
            putfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
        74: .line 1010
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getSegmentsFileName:()Ljava/lang/String;
            invokestatic org.apache.lucene.index.SegmentInfos.readCommit:(Lorg/apache/lucene/store/Directory;Ljava/lang/String;)Lorg/apache/lucene/index/SegmentInfos;
            astore 10 /* lastCommit */
        start local 10 // org.apache.lucene.index.SegmentInfos lastCommit
        75: .line 1011
            goto 78
        end local 10 // org.apache.lucene.index.SegmentInfos lastCommit
      StackMap locals:
      StackMap stack: java.io.IOException
        76: pop
        77: .line 1012
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "the provided reader is stale: its prior commit file \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getSegmentsFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" is missing from index"
            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
        start local 10 // org.apache.lucene.index.SegmentInfos lastCommit
        78: .line 1015
      StackMap locals: org.apache.lucene.index.SegmentInfos
      StackMap stack:
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.writer:Lorg/apache/lucene/index/IndexWriter;
            ifnull 82
        79: .line 1018
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 80
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.writer:Lorg/apache/lucene/index/IndexWriter;
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 80
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        80: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.writer:Lorg/apache/lucene/index/IndexWriter;
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGenerationVersionAndCounter:(Lorg/apache/lucene/index/SegmentInfos;)V
        81: .line 1023
            aload 10 /* lastCommit */
            aload 9 /* reader */
            getfield org.apache.lucene.index.StandardDirectoryReader.writer:Lorg/apache/lucene/index/IndexWriter;
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGenerationVersionAndCounter:(Lorg/apache/lucene/index/SegmentInfos;)V
        82: .line 1026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* lastCommit */
            invokevirtual org.apache.lucene.index.SegmentInfos.createBackupSegmentInfos:()Ljava/util/List;
            putfield org.apache.lucene.index.IndexWriter.rollbackSegments:Ljava/util/List;
        end local 10 // org.apache.lucene.index.SegmentInfos lastCommit
        83: .line 1027
            goto 97
        84: .line 1030
      StackMap locals:
      StackMap stack:
            aload 7 /* files */
            invokestatic org.apache.lucene.index.SegmentInfos.getLastCommitSegmentsFileName:([Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* lastSegmentsFile */
        start local 10 // java.lang.String lastSegmentsFile
        85: .line 1031
            aload 10 /* lastSegmentsFile */
            ifnonnull 87
        86: .line 1032
            new org.apache.lucene.index.IndexNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no segments* file found in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": files: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* files */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.lucene.index.IndexNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        87: .line 1037
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 10 /* lastSegmentsFile */
            invokestatic org.apache.lucene.index.SegmentInfos.readCommit:(Lorg/apache/lucene/store/Directory;Ljava/lang/String;)Lorg/apache/lucene/index/SegmentInfos;
            putfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
        88: .line 1039
            aload 8 /* commit */
            ifnull 96
        89: .line 1045
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getDirectory:()Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            if_acmpeq 91
        90: .line 1046
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "IndexCommit's directory doesn't match my directory, expected="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", got="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getDirectory:()Lorg/apache/lucene/store/Directory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getSegmentsFileName:()Ljava/lang/String;
            invokestatic org.apache.lucene.index.SegmentInfos.readCommit:(Lorg/apache/lucene/store/Directory;Ljava/lang/String;)Lorg/apache/lucene/index/SegmentInfos;
            astore 11 /* oldInfos */
        start local 11 // org.apache.lucene.index.SegmentInfos oldInfos
        92: .line 1050
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 11 /* oldInfos */
            invokevirtual org.apache.lucene.index.SegmentInfos.replace:(Lorg/apache/lucene/index/SegmentInfos;)V
        93: .line 1051
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
        94: .line 1053
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 96
        95: .line 1054
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "init: loaded commit \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* commit */
            invokevirtual org.apache.lucene.index.IndexCommit.getSegmentsFileName:()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;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 11 // org.apache.lucene.index.SegmentInfos oldInfos
        96: .line 1058
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.createBackupSegmentInfos:()Ljava/util/List;
            putfield org.apache.lucene.index.IndexWriter.rollbackSegments:Ljava/util/List;
        end local 10 // java.lang.String lastSegmentsFile
        97: .line 1063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getUserData:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            putfield org.apache.lucene.index.IndexWriter.commitUserData:Ljava/lang/Iterable;
        98: .line 1065
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            i2l
            invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
        99: .line 1069
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.getFieldNumberMap:()Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            putfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
       100: .line 1071
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.validateIndexSort:()V
       101: .line 1073
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getFlushPolicy:()Lorg/apache/lucene/index/FlushPolicy;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.FlushPolicy.init:(Lorg/apache/lucene/index/LiveIndexWriterConfig;)V
       102: .line 1074
            aload 0 /* this */
            new org.apache.lucene.index.BufferedUpdatesStream
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            invokespecial org.apache.lucene.index.BufferedUpdatesStream.<init>:(Lorg/apache/lucene/util/InfoStream;)V
            putfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
       103: .line 1075
            aload 0 /* this */
            new org.apache.lucene.index.DocumentsWriter
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushNotifications:Lorg/apache/lucene/index/DocumentsWriter$FlushNotifications;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
       104: .line 1076
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.enableTestPoints:Z
            aload 0 /* this */
            invokedynamic get(Lorg/apache/lucene/index/IndexWriter;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/lucene/index/IndexWriter.newSegmentName()Ljava/lang/String; (7)
                  ()Ljava/lang/String;
       105: .line 1077
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            invokespecial org.apache.lucene.index.DocumentsWriter.<init>:(Lorg/apache/lucene/index/DocumentsWriter$FlushNotifications;ILjava/util/concurrent/atomic/AtomicLong;ZLjava/util/function/Supplier;Lorg/apache/lucene/index/LiveIndexWriterConfig;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/FieldInfos$FieldNumbers;)V
       106: .line 1075
            putfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
       107: .line 1078
            aload 0 /* this */
            new org.apache.lucene.index.ReaderPool
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
       108: .line 1079
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic getAsLong(Lorg/apache/lucene/index/BufferedUpdatesStream;)Ljava/util/function/LongSupplier;
              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:
                  ()J
                  org/apache/lucene/index/BufferedUpdatesStream.getCompletedDelGen()J (5)
                  ()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 2 /* conf */
            invokevirtual org.apache.lucene.index.IndexWriterConfig.getSoftDeletesField:()Ljava/lang/String;
            aload 9 /* reader */
            invokespecial org.apache.lucene.index.ReaderPool.<init>:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/FieldInfos$FieldNumbers;Ljava/util/function/LongSupplier;Lorg/apache/lucene/util/InfoStream;Ljava/lang/String;Lorg/apache/lucene/index/StandardDirectoryReader;)V
       109: .line 1078
            putfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
       110: .line 1080
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getReaderPooling:()Z
            ifeq 112
       111: .line 1081
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.enableReaderPooling:()V
       112: .line 1087
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 12
            monitorenter
       113: .line 1088
            aload 0 /* this */
       114: new org.apache.lucene.index.IndexFileDeleter
            dup
            aload 7 /* files */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
       115: .line 1089
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexDeletionPolicy:()Lorg/apache/lucene/index/IndexDeletionPolicy;
       116: .line 1090
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 0 /* this */
       117: .line 1091
            iload 5 /* indexExists */
            aload 9 /* reader */
            ifnull 118
            iconst_1
            goto 119
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int org.apache.lucene.index.IndexWriterConfig$OpenMode int int java.lang.String[] org.apache.lucene.index.IndexCommit org.apache.lucene.index.StandardDirectoryReader top top org.apache.lucene.index.IndexWriter
      StackMap stack: org.apache.lucene.index.IndexWriter new 114 new 114 java.lang.String[] org.apache.lucene.store.Directory org.apache.lucene.store.Directory org.apache.lucene.index.IndexDeletionPolicy org.apache.lucene.index.SegmentInfos org.apache.lucene.util.InfoStream org.apache.lucene.index.IndexWriter int
       118: iconst_0
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int org.apache.lucene.index.IndexWriterConfig$OpenMode int int java.lang.String[] org.apache.lucene.index.IndexCommit org.apache.lucene.index.StandardDirectoryReader top top org.apache.lucene.index.IndexWriter
      StackMap stack: org.apache.lucene.index.IndexWriter new 114 new 114 java.lang.String[] org.apache.lucene.store.Directory org.apache.lucene.store.Directory org.apache.lucene.index.IndexDeletionPolicy org.apache.lucene.index.SegmentInfos org.apache.lucene.util.InfoStream org.apache.lucene.index.IndexWriter int int
       119: invokespecial org.apache.lucene.index.IndexFileDeleter.<init>:([Ljava/lang/String;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/IndexDeletionPolicy;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/index/IndexWriter;ZZ)V
       120: .line 1088
            putfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
       121: .line 1094
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 122
            iload 6 /* create */
            ifne 122
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexWriter.filesExist:(Lorg/apache/lucene/index/SegmentInfos;)Z
            ifne 122
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       122: .line 1087
      StackMap locals:
      StackMap stack:
            aload 12
            monitorexit
       123: goto 126
      StackMap locals:
      StackMap stack: java.lang.Throwable
       124: aload 12
            monitorexit
       125: athrow
       126: .line 1097
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int org.apache.lucene.index.IndexWriterConfig$OpenMode int int java.lang.String[] org.apache.lucene.index.IndexCommit org.apache.lucene.index.StandardDirectoryReader
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            getfield org.apache.lucene.index.IndexFileDeleter.startingCommitDeleted:Z
            ifeq 128
       127: .line 1102
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
       128: .line 1105
      StackMap locals:
      StackMap stack:
            aload 9 /* reader */
            ifnull 131
       129: .line 1107
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
       130: .line 1108
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
       131: .line 1111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 134
       132: .line 1112
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "init: create="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* create */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc " reader="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* reader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       133: .line 1113
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.messageState:()V
       134: .line 1116
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        end local 9 // org.apache.lucene.index.StandardDirectoryReader reader
        end local 8 // org.apache.lucene.index.IndexCommit commit
        end local 7 // java.lang.String[] files
        end local 6 // boolean create
        end local 5 // boolean indexExists
        end local 4 // org.apache.lucene.index.IndexWriterConfig$OpenMode mode
       135: .line 1118
            goto 144
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int
      StackMap stack: java.lang.Throwable
       136: astore 13
       137: .line 1119
            iload 3 /* success */
            ifne 143
       138: .line 1120
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 140
       139: .line 1121
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "init: hit exception on init; releasing write lock"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int top top top top top top top top top java.lang.Throwable
      StackMap stack:
       140: iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
       141: .line 1123
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
       142: .line 1124
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
       143: .line 1126
      StackMap locals:
      StackMap stack:
            aload 13
            athrow
       144: .line 1119
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory org.apache.lucene.index.IndexWriterConfig int
      StackMap stack:
            iload 3 /* success */
            ifne 150
       145: .line 1120
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 147
       146: .line 1121
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "init: hit exception on init; releasing write lock"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
      StackMap locals:
      StackMap stack:
       147: iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
       148: .line 1123
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
       149: .line 1124
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
       150: .line 1127
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean success
        end local 2 // org.apache.lucene.index.IndexWriterConfig conf
        end local 1 // org.apache.lucene.store.Directory d
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  151     0              this  Lorg/apache/lucene/index/IndexWriter;
            0  151     1                 d  Lorg/apache/lucene/store/Directory;
            0  151     2              conf  Lorg/apache/lucene/index/IndexWriterConfig;
           30  151     3           success  Z
           35  135     4              mode  Lorg/apache/lucene/index/IndexWriterConfig$OpenMode;
           37   39     5       indexExists  Z
           41   43     5       indexExists  Z
           44  135     5       indexExists  Z
           38   39     6            create  Z
           42   43     6            create  Z
           47  135     6            create  Z
           48  135     7             files  [Ljava/lang/String;
           49  135     8            commit  Lorg/apache/lucene/index/IndexCommit;
           51   52     9            reader  Lorg/apache/lucene/index/StandardDirectoryReader;
           53  135     9            reader  Lorg/apache/lucene/index/StandardDirectoryReader;
           59   65    10               sis  Lorg/apache/lucene/index/SegmentInfos;
           61   62    11          previous  Lorg/apache/lucene/index/SegmentInfos;
           75   76    10        lastCommit  Lorg/apache/lucene/index/SegmentInfos;
           78   83    10        lastCommit  Lorg/apache/lucene/index/SegmentInfos;
           85   97    10  lastSegmentsFile  Ljava/lang/String;
           92   96    11          oldInfos  Lorg/apache/lucene/index/SegmentInfos;
      Exception table:
        from    to  target  type
          74    75      76  Class java.io.IOException
         113   123     124  any
         124   125     124  any
          30   136     136  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      d     
      conf  

  private void validateIndexSort();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1131
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            astore 1 /* indexSort */
        start local 1 // org.apache.lucene.search.Sort indexSort
         1: .line 1132
            aload 1 /* indexSort */
            ifnull 8
         2: .line 1133
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Sort top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 2 /* info */
        start local 2 // org.apache.lucene.index.SegmentCommitInfo info
         4: .line 1134
            aload 2 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getIndexSort:()Lorg/apache/lucene/search/Sort;
            astore 4 /* segmentIndexSort */
        start local 4 // org.apache.lucene.search.Sort segmentIndexSort
         5: .line 1135
            aload 4 /* segmentIndexSort */
            ifnull 6
            aload 1 /* indexSort */
            aload 4 /* segmentIndexSort */
            invokestatic org.apache.lucene.index.IndexWriter.isCongruentSort:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
            ifne 7
         6: .line 1136
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Sort org.apache.lucene.index.SegmentCommitInfo java.util.Iterator org.apache.lucene.search.Sort
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot change previous indexSort="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* segmentIndexSort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (from segment="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") to new indexSort="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* indexSort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.apache.lucene.search.Sort segmentIndexSort
        end local 2 // org.apache.lucene.index.SegmentCommitInfo info
         7: .line 1133
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Sort top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 1140
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Sort
      StackMap stack:
            return
        end local 1 // org.apache.lucene.search.Sort indexSort
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/apache/lucene/index/IndexWriter;
            1    9     1         indexSort  Lorg/apache/lucene/search/Sort;
            4    7     2              info  Lorg/apache/lucene/index/SegmentCommitInfo;
            5    7     4  segmentIndexSort  Lorg/apache/lucene/search/Sort;

  static boolean isCongruentSort(org.apache.lucene.search.Sort, org.apache.lucene.search.Sort);
    descriptor: (Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.lucene.search.Sort indexSort
        start local 1 // org.apache.lucene.search.Sort otherSort
         0: .line 1146
            aload 0 /* indexSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 2 /* fields1 */
        start local 2 // org.apache.lucene.search.SortField[] fields1
         1: .line 1147
            aload 1 /* otherSort */
            invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
            astore 3 /* fields2 */
        start local 3 // org.apache.lucene.search.SortField[] fields2
         2: .line 1148
            aload 2 /* fields1 */
            arraylength
            aload 3 /* fields2 */
            arraylength
            if_icmple 4
         3: .line 1149
            iconst_0
            ireturn
         4: .line 1151
      StackMap locals: org.apache.lucene.search.SortField[] org.apache.lucene.search.SortField[]
      StackMap stack:
            aload 2 /* fields1 */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* fields2 */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            iconst_0
            aload 2 /* fields1 */
            arraylength
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // org.apache.lucene.search.SortField[] fields2
        end local 2 // org.apache.lucene.search.SortField[] fields1
        end local 1 // org.apache.lucene.search.Sort otherSort
        end local 0 // org.apache.lucene.search.Sort indexSort
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  indexSort  Lorg/apache/lucene/search/Sort;
            0    5     1  otherSort  Lorg/apache/lucene/search/Sort;
            1    5     2    fields1  [Lorg/apache/lucene/search/SortField;
            2    5     3    fields2  [Lorg/apache/lucene/search/SortField;
    MethodParameters:
           Name  Flags
      indexSort  
      otherSort  

  static org.apache.lucene.index.FieldInfos readFieldInfos(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/FieldInfos;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.lucene.index.SegmentCommitInfo si
         0: .line 1158
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getCodec:()Lorg/apache/lucene/codecs/Codec;
            astore 1 /* codec */
        start local 1 // org.apache.lucene.codecs.Codec codec
         1: .line 1159
            aload 1 /* codec */
            invokevirtual org.apache.lucene.codecs.Codec.fieldInfosFormat:()Lorg/apache/lucene/codecs/FieldInfosFormat;
            astore 2 /* reader */
        start local 2 // org.apache.lucene.codecs.FieldInfosFormat reader
         2: .line 1161
            aload 0 /* si */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.hasFieldUpdates:()Z
            ifeq 5
         3: .line 1163
            aload 0 /* si */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getFieldInfosGen:()J
            bipush 36
            invokestatic java.lang.Long.toString:(JI)Ljava/lang/String;
            astore 3 /* segmentSuffix */
        start local 3 // java.lang.String segmentSuffix
         4: .line 1164
            aload 2 /* reader */
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            aload 3 /* segmentSuffix */
            getstatic org.apache.lucene.store.IOContext.READONCE:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.codecs.FieldInfosFormat.read:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/FieldInfos;
            areturn
        end local 3 // java.lang.String segmentSuffix
         5: .line 1165
      StackMap locals: org.apache.lucene.codecs.Codec org.apache.lucene.codecs.FieldInfosFormat
      StackMap stack:
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getUseCompoundFile:()Z
            ifeq 17
         6: .line 1167
            aconst_null
            astore 3
            aconst_null
            astore 4
         7: aload 1 /* codec */
            invokevirtual org.apache.lucene.codecs.Codec.compoundFormat:()Lorg/apache/lucene/codecs/CompoundFormat;
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getstatic org.apache.lucene.store.IOContext.DEFAULT:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.codecs.CompoundFormat.getCompoundReader:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/codecs/CompoundDirectory;
            astore 5 /* cfs */
        start local 5 // org.apache.lucene.store.Directory cfs
         8: .line 1168
            aload 2 /* reader */
            aload 5 /* cfs */
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            ldc ""
            getstatic org.apache.lucene.store.IOContext.READONCE:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.codecs.FieldInfosFormat.read:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/FieldInfos;
         9: .line 1169
            aload 5 /* cfs */
            ifnull 10
            aload 5 /* cfs */
            invokevirtual org.apache.lucene.store.Directory.close:()V
        10: .line 1168
      StackMap locals: org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.codecs.Codec org.apache.lucene.codecs.FieldInfosFormat java.lang.Throwable java.lang.Throwable org.apache.lucene.store.Directory
      StackMap stack: org.apache.lucene.index.FieldInfos
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
        12: .line 1169
            aload 5 /* cfs */
            ifnull 13
            aload 5 /* cfs */
            invokevirtual org.apache.lucene.store.Directory.close:()V
        end local 5 // org.apache.lucene.store.Directory cfs
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 1172
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 0 /* si */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            ldc ""
            getstatic org.apache.lucene.store.IOContext.READONCE:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.codecs.FieldInfosFormat.read:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/FieldInfos;
            areturn
        end local 2 // org.apache.lucene.codecs.FieldInfosFormat reader
        end local 1 // org.apache.lucene.codecs.Codec codec
        end local 0 // org.apache.lucene.index.SegmentCommitInfo si
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0             si  Lorg/apache/lucene/index/SegmentCommitInfo;
            1   18     1          codec  Lorg/apache/lucene/codecs/Codec;
            2   18     2         reader  Lorg/apache/lucene/codecs/FieldInfosFormat;
            4    5     3  segmentSuffix  Ljava/lang/String;
            8   13     5            cfs  Lorg/apache/lucene/store/Directory;
      Exception table:
        from    to  target  type
           8     9      11  any
           7    10      14  any
          11    14      14  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      si    

  private org.apache.lucene.index.FieldInfos$FieldNumbers getFieldNumberMap();
    descriptor: ()Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1181
            new org.apache.lucene.index.FieldInfos$FieldNumbers
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            getfield org.apache.lucene.index.LiveIndexWriterConfig.softDeletesField:Ljava/lang/String;
            invokespecial org.apache.lucene.index.FieldInfos$FieldNumbers.<init>:(Ljava/lang/String;)V
            astore 1 /* map */
        start local 1 // org.apache.lucene.index.FieldInfos$FieldNumbers map
         1: .line 1183
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FieldInfos$FieldNumbers top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 2 /* info */
        start local 2 // org.apache.lucene.index.SegmentCommitInfo info
         3: .line 1184
            aload 2 /* info */
            invokestatic org.apache.lucene.index.IndexWriter.readFieldInfos:(Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/FieldInfos;
            astore 4 /* fis */
        start local 4 // org.apache.lucene.index.FieldInfos fis
         4: .line 1185
            aload 4 /* fis */
            invokevirtual org.apache.lucene.index.FieldInfos.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FieldInfos$FieldNumbers org.apache.lucene.index.SegmentCommitInfo java.util.Iterator org.apache.lucene.index.FieldInfos top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.FieldInfo
            astore 5 /* fi */
        start local 5 // org.apache.lucene.index.FieldInfo fi
         6: .line 1186
            aload 1 /* map */
            aload 5 /* fi */
            getfield org.apache.lucene.index.FieldInfo.name:Ljava/lang/String;
            aload 5 /* fi */
            getfield org.apache.lucene.index.FieldInfo.number:I
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getIndexOptions:()Lorg/apache/lucene/index/IndexOptions;
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getDocValuesType:()Lorg/apache/lucene/index/DocValuesType;
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointDimensionCount:()I
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointIndexDimensionCount:()I
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointNumBytes:()I
            aload 5 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.isSoftDeletesField:()Z
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.addOrGet:(Ljava/lang/String;ILorg/apache/lucene/index/IndexOptions;Lorg/apache/lucene/index/DocValuesType;IIIZ)I
            pop
        end local 5 // org.apache.lucene.index.FieldInfo fi
         7: .line 1185
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // org.apache.lucene.index.FieldInfos fis
        end local 2 // org.apache.lucene.index.SegmentCommitInfo info
         8: .line 1183
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FieldInfos$FieldNumbers top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1190
            aload 1 /* map */
            areturn
        end local 1 // org.apache.lucene.index.FieldInfos$FieldNumbers map
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/lucene/index/IndexWriter;
            1   10     1   map  Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            3    8     2  info  Lorg/apache/lucene/index/SegmentCommitInfo;
            4    8     4   fis  Lorg/apache/lucene/index/FieldInfos;
            6    7     5    fi  Lorg/apache/lucene/index/FieldInfo;
    Exceptions:
      throws java.io.IOException

  public org.apache.lucene.index.LiveIndexWriterConfig getConfig();
    descriptor: ()Lorg/apache/lucene/index/LiveIndexWriterConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1198
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 1199
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  private void messageState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1203
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 11
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.didMessageState:Z
            ifne 11
         1: .line 1204
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.IndexWriter.didMessageState:Z
         2: .line 1205
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "\ndir="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1206
            ldc "index="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1207
            ldc "version="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.lucene.util.Version.LATEST:Lorg/apache/lucene/util/Version;
            invokevirtual org.apache.lucene.util.Version.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1208
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1205
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 1209
            new java.lang.StringBuilder
            dup
            getstatic org.apache.lucene.store.MMapDirectory.UNMAP_SUPPORTED:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* unmapInfo */
        start local 1 // java.lang.StringBuilder unmapInfo
         8: .line 1210
            getstatic org.apache.lucene.store.MMapDirectory.UNMAP_SUPPORTED:Z
            ifne 10
         9: .line 1211
            aload 1 /* unmapInfo */
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.lucene.store.MMapDirectory.UNMAP_NOT_SUPPORTED_REASON: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;
            pop
        10: .line 1213
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "MMapDirectory.UNMAP_SUPPORTED="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* unmapInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 1 // java.lang.StringBuilder unmapInfo
        11: .line 1215
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/lucene/index/IndexWriter;
            8   11     1  unmapInfo  Ljava/lang/StringBuilder;

  private void shutdown();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1224
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 2
         1: .line 1225
            new java.lang.IllegalStateException
            dup
            ldc "cannot close: prepareCommit was already called with no corresponding call to commit"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.shouldClose:(Z)Z
            ifeq 16
         3: .line 1231
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 1232
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "now flush at close"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         6: .line 1236
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.waitForMerges:()V
         7: .line 1237
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            invokevirtual org.apache.lucene.index.IndexWriter.commitInternal:(Lorg/apache/lucene/index/MergePolicy;)J
            pop2
         8: .line 1238
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        10: .line 1241
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollbackInternal:()V
        11: .line 1242
            goto 14
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Throwable
      StackMap stack: java.lang.Throwable
        12: astore 2 /* t1 */
        start local 2 // java.lang.Throwable t1
        13: .line 1243
            aload 1 /* t */
            aload 2 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t1
        14: .line 1245
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            athrow
        end local 1 // java.lang.Throwable t
        15: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollbackInternal:()V
        16: .line 1249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/apache/lucene/index/IndexWriter;
           10   15     1     t  Ljava/lang/Throwable;
           13   14     2    t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.Throwable
          10    11      12  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1277
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getCommitOnClose:()Z
            ifeq 3
         1: .line 1278
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.shutdown:()V
         2: .line 1279
            goto 4
         3: .line 1280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollback:()V
         4: .line 1282
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private synchronized boolean shouldClose(boolean);
    descriptor: (Z)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean waitForClose
         0: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 8
         1: .line 1290
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closing:Z
            ifne 4
         2: .line 1292
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.IndexWriter.closing:Z
         3: .line 1293
            iconst_1
            ireturn
         4: .line 1294
      StackMap locals:
      StackMap stack:
            iload 1 /* waitForClose */
            ifne 6
         5: .line 1295
            iconst_0
            ireturn
         6: .line 1300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doWait:()V
         7: .line 1302
            goto 0
         8: .line 1303
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean waitForClose
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    9     1  waitForClose  Z
    MethodParameters:
              Name  Flags
      waitForClose  

  public org.apache.lucene.store.Directory getDirectory();
    descriptor: ()Lorg/apache/lucene/store/Directory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1311
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

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

  public org.apache.lucene.analysis.Analyzer getAnalyzer();
    descriptor: ()Lorg/apache/lucene/analysis/Analyzer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1321
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1322
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getAnalyzer:()Lorg/apache/lucene/analysis/Analyzer;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  public synchronized void advanceSegmentInfosVersion(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long newVersion
         0: .line 1329
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1330
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            lload 1 /* newVersion */
            lcmp
            ifge 3
         2: .line 1331
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            lload 1 /* newVersion */
            invokevirtual org.apache.lucene.index.SegmentInfos.setVersion:(J)V
         3: .line 1333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
         4: .line 1334
            return
        end local 1 // long newVersion
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  newVersion  J
    MethodParameters:
            Name  Flags
      newVersion  

  public synchronized boolean hasDeletions();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1344
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1345
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.any:()Z
            ifne 4
         2: .line 1346
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.anyDeletions:()Z
            ifne 4
         3: .line 1347
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.anyDeletions:()Z
            ifeq 5
         4: .line 1348
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 1350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
         6: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 1 /* info */
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         7: .line 1351
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.hasDeletions:()Z
            ifeq 9
         8: .line 1352
            iconst_1
            ireturn
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
         9: .line 1350
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 1355
            iconst_0
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/lucene/index/IndexWriter;
            7    9     1  info  Lorg/apache/lucene/index/SegmentCommitInfo;

  public long addDocument(java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>);
    descriptor: (Ljava/lang/Iterable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Iterable doc
         0: .line 1400
            aload 0 /* this */
            aconst_null
            aload 1 /* doc */
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocument:(Lorg/apache/lucene/index/Term;Ljava/lang/Iterable;)J
            lreturn
        end local 1 // java.lang.Iterable doc
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    1     1   doc  Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;)J
    MethodParameters:
      Name  Flags
      doc   

  public long addDocuments(java.lang.Iterable<? extends java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>>);
    descriptor: (Ljava/lang/Iterable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Iterable docs
         0: .line 1444
            aload 0 /* this */
            aconst_null
            aload 1 /* docs */
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocuments:(Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
            lreturn
        end local 1 // java.lang.Iterable docs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    1     1  docs  Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;)J
    MethodParameters:
      Name  Flags
      docs  

  public long updateDocuments(org.apache.lucene.index.Term, java.lang.Iterable<? extends java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>>);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term delTerm
        start local 2 // java.lang.Iterable docs
         0: .line 1464
            aload 0 /* this */
            aload 1 /* delTerm */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.apache.lucene.index.IndexWriter
         1: aload 1 /* delTerm */
            invokestatic org.apache.lucene.index.DocumentsWriterDeleteQueue.newNode:(Lorg/apache/lucene/index/Term;)Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.Term java.lang.Iterable
      StackMap stack: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocumentsWriterDeleteQueue$Node
         2: aload 2 /* docs */
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocuments:(Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
            lreturn
        end local 2 // java.lang.Iterable docs
        end local 1 // org.apache.lucene.index.Term delTerm
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  delTerm  Lorg/apache/lucene/index/Term;
            0    3     2     docs  Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;)J
    MethodParameters:
         Name  Flags
      delTerm  
      docs     

  private long updateDocuments(org.apache.lucene.index.DocumentsWriterDeleteQueue$Node<?>, java.lang.Iterable<? extends java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>>);
    descriptor: (Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.DocumentsWriterDeleteQueue$Node delNode
        start local 2 // java.lang.Iterable docs
         0: .line 1468
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1469
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         2: .line 1471
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            aload 2 /* docs */
            aload 1 /* delNode */
            invokevirtual org.apache.lucene.index.DocumentsWriter.updateDocuments:(Ljava/lang/Iterable;Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
            lstore 4 /* seqNo */
        start local 4 // long seqNo
         3: .line 1472
            iconst_1
            istore 3 /* success */
         4: .line 1473
            lload 4 /* seqNo */
            lstore 7
         5: .line 1478
            iload 3 /* success */
            ifne 9
         6: .line 1479
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 1480
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception updating document"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 1482
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocumentsWriterDeleteQueue$Node java.lang.Iterable int long top long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
         9: .line 1473
      StackMap locals:
      StackMap stack:
            lload 7
            lreturn
        end local 4 // long seqNo
        10: .line 1474
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocumentsWriterDeleteQueue$Node java.lang.Iterable int
      StackMap stack: java.lang.VirtualMachineError
            astore 4 /* tragedy */
        start local 4 // java.lang.VirtualMachineError tragedy
        11: .line 1475
            aload 0 /* this */
            aload 4 /* tragedy */
            ldc "updateDocuments"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        12: .line 1476
            aload 4 /* tragedy */
            athrow
        end local 4 // java.lang.VirtualMachineError tragedy
        13: .line 1477
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        14: .line 1478
            iload 3 /* success */
            ifne 18
        15: .line 1479
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 17
        16: .line 1480
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception updating document"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 1482
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocumentsWriterDeleteQueue$Node java.lang.Iterable int top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        18: .line 1484
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        end local 3 // boolean success
        end local 2 // java.lang.Iterable docs
        end local 1 // org.apache.lucene.index.DocumentsWriterDeleteQueue$Node delNode
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   19     1  delNode  Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node<*>;
            0   19     2     docs  Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;
            2   19     3  success  Z
            3   10     4    seqNo  J
           11   13     4  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           2     5      10  Class java.lang.VirtualMachineError
           2     5      13  any
          10    13      13  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node<*>;Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;)J
    MethodParameters:
         Name  Flags
      delNode  final
      docs     

  public long softUpdateDocuments(org.apache.lucene.index.Term, java.lang.Iterable<? extends java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>>, org.apache.lucene.document.Field[]);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable;[Lorg/apache/lucene/document/Field;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // java.lang.Iterable docs
        start local 3 // org.apache.lucene.document.Field[] softDeletes
         0: .line 1520
            aload 1 /* term */
            ifnonnull 2
         1: .line 1521
            new java.lang.IllegalArgumentException
            dup
            ldc "term must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1523
      StackMap locals:
      StackMap stack:
            aload 3 /* softDeletes */
            ifnull 3
            aload 3 /* softDeletes */
            arraylength
            ifne 4
         3: .line 1524
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "at least one soft delete must be present"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* term */
            aload 3 /* softDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.buildDocValuesUpdate:(Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)[Lorg/apache/lucene/index/DocValuesUpdate;
            invokestatic org.apache.lucene.index.DocumentsWriterDeleteQueue.newNode:([Lorg/apache/lucene/index/DocValuesUpdate;)Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;
            aload 2 /* docs */
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocuments:(Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
            lreturn
        end local 3 // org.apache.lucene.document.Field[] softDeletes
        end local 2 // java.lang.Iterable docs
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1         term  Lorg/apache/lucene/index/Term;
            0    5     2         docs  Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;
            0    5     3  softDeletes  [Lorg/apache/lucene/document/Field;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable<+Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;>;[Lorg/apache/lucene/document/Field;)J
    MethodParameters:
             Name  Flags
      term         
      docs         
      softDeletes  

  public synchronized long tryDeleteDocument(org.apache.lucene.index.IndexReader, int);
    descriptor: (Lorg/apache/lucene/index/IndexReader;I)J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.IndexReader readerIn
        start local 2 // int docID
         0: .line 1544
            aload 0 /* this */
            aload 1 /* readerIn */
            iload 2 /* docID */
            aload 0 /* this */
            invokedynamic run(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/index/IndexWriter$DocModifier;
              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:
                  (ILorg/apache/lucene/index/ReadersAndUpdates;)V
                  org/apache/lucene/index/IndexWriter.lambda$9(ILorg/apache/lucene/index/ReadersAndUpdates;)V (7)
                  (ILorg/apache/lucene/index/ReadersAndUpdates;)V
            invokevirtual org.apache.lucene.index.IndexWriter.tryModifyDocument:(Lorg/apache/lucene/index/IndexReader;ILorg/apache/lucene/index/IndexWriter$DocModifier;)J
            lreturn
        end local 2 // int docID
        end local 1 // org.apache.lucene.index.IndexReader readerIn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/lucene/index/IndexWriter;
            0    1     1  readerIn  Lorg/apache/lucene/index/IndexReader;
            0    1     2     docID  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      readerIn  
      docID     

  public synchronized long tryUpdateDocValue(org.apache.lucene.index.IndexReader, int, org.apache.lucene.document.Field[]);
    descriptor: (Lorg/apache/lucene/index/IndexReader;I[Lorg/apache/lucene/document/Field;)J
    flags: (0x00a1) ACC_PUBLIC, ACC_SYNCHRONIZED, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.IndexReader readerIn
        start local 2 // int docID
        start local 3 // org.apache.lucene.document.Field[] fields
         0: .line 1577
            aload 0 /* this */
            aconst_null
            aload 3 /* fields */
            invokevirtual org.apache.lucene.index.IndexWriter.buildDocValuesUpdate:(Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)[Lorg/apache/lucene/index/DocValuesUpdate;
            astore 4 /* dvUpdates */
        start local 4 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
         1: .line 1578
            aload 0 /* this */
            aload 1 /* readerIn */
            iload 2 /* docID */
            aload 0 /* this */
            aload 4 /* dvUpdates */
            invokedynamic run(Lorg/apache/lucene/index/IndexWriter;[Lorg/apache/lucene/index/DocValuesUpdate;)Lorg/apache/lucene/index/IndexWriter$DocModifier;
              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:
                  (ILorg/apache/lucene/index/ReadersAndUpdates;)V
                  org/apache/lucene/index/IndexWriter.lambda$10([Lorg/apache/lucene/index/DocValuesUpdate;ILorg/apache/lucene/index/ReadersAndUpdates;)V (7)
                  (ILorg/apache/lucene/index/ReadersAndUpdates;)V
            invokevirtual org.apache.lucene.index.IndexWriter.tryModifyDocument:(Lorg/apache/lucene/index/IndexReader;ILorg/apache/lucene/index/IndexWriter$DocModifier;)J
            lreturn
        end local 4 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
        end local 3 // org.apache.lucene.document.Field[] fields
        end local 2 // int docID
        end local 1 // org.apache.lucene.index.IndexReader readerIn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1   readerIn  Lorg/apache/lucene/index/IndexReader;
            0    2     2      docID  I
            0    2     3     fields  [Lorg/apache/lucene/document/Field;
            1    2     4  dvUpdates  [Lorg/apache/lucene/index/DocValuesUpdate;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      readerIn  
      docID     
      fields    

  private synchronized long tryModifyDocument(org.apache.lucene.index.IndexReader, int, org.apache.lucene.index.IndexWriter$DocModifier);
    descriptor: (Lorg/apache/lucene/index/IndexReader;ILorg/apache/lucene/index/IndexWriter$DocModifier;)J
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.IndexReader readerIn
        start local 2 // int docID
        start local 3 // org.apache.lucene.index.IndexWriter$DocModifier toApply
         0: .line 1628
            aload 1 /* readerIn */
            instanceof org.apache.lucene.index.LeafReader
            ifeq 3
         1: .line 1630
            aload 1 /* readerIn */
            checkcast org.apache.lucene.index.LeafReader
            astore 4 /* reader */
        start local 4 // org.apache.lucene.index.LeafReader reader
         2: .line 1631
            goto 9
        end local 4 // org.apache.lucene.index.LeafReader reader
         3: .line 1633
      StackMap locals:
      StackMap stack:
            aload 1 /* readerIn */
            invokevirtual org.apache.lucene.index.IndexReader.leaves:()Ljava/util/List;
            astore 5 /* leaves */
        start local 5 // java.util.List leaves
         4: .line 1634
            iload 2 /* docID */
            aload 5 /* leaves */
            invokestatic org.apache.lucene.index.ReaderUtil.subIndex:(ILjava/util/List;)I
            istore 6 /* subIndex */
        start local 6 // int subIndex
         5: .line 1635
            aload 5 /* leaves */
            iload 6 /* subIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.LeafReaderContext
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            astore 4 /* reader */
        start local 4 // org.apache.lucene.index.LeafReader reader
         6: .line 1636
            iload 2 /* docID */
            aload 5 /* leaves */
            iload 6 /* subIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.LeafReaderContext
            getfield org.apache.lucene.index.LeafReaderContext.docBase:I
            isub
            istore 2 /* docID */
         7: .line 1637
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 8
            iload 2 /* docID */
            ifge 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 1638
      StackMap locals: org.apache.lucene.index.LeafReader java.util.List int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            iload 2 /* docID */
            aload 4 /* reader */
            invokevirtual org.apache.lucene.index.LeafReader.maxDoc:()I
            if_icmplt 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 6 // int subIndex
        end local 5 // java.util.List leaves
         9: .line 1641
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            instanceof org.apache.lucene.index.SegmentReader
            ifne 11
        10: .line 1642
            new java.lang.IllegalArgumentException
            dup
            ldc "the reader must be a SegmentReader or composite reader containing only SegmentReaders"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1645
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            checkcast org.apache.lucene.index.SegmentReader
            invokevirtual org.apache.lucene.index.SegmentReader.getOriginalSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            astore 5 /* info */
        start local 5 // org.apache.lucene.index.SegmentCommitInfo info
        12: .line 1652
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 5 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfos.indexOf:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            iconst_m1
            if_icmpeq 21
        13: .line 1653
            aload 0 /* this */
            aload 5 /* info */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 6 /* rld */
        start local 6 // org.apache.lucene.index.ReadersAndUpdates rld
        14: .line 1654
            aload 6 /* rld */
            ifnull 21
        15: .line 1655
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            dup
            astore 7
            monitorenter
        16: .line 1656
            aload 3 /* toApply */
            iload 2 /* docID */
            aload 6 /* rld */
            invokeinterface org.apache.lucene.index.IndexWriter$DocModifier.run:(ILorg/apache/lucene/index/ReadersAndUpdates;)V
        17: .line 1657
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            aload 7
            monitorexit
        18: lreturn
        19: .line 1655
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.IndexReader int org.apache.lucene.index.IndexWriter$DocModifier org.apache.lucene.index.LeafReader org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.BufferedUpdatesStream
      StackMap stack: java.lang.Throwable
            aload 7
            monitorexit
        20: athrow
        end local 6 // org.apache.lucene.index.ReadersAndUpdates rld
        21: .line 1661
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
        end local 5 // org.apache.lucene.index.SegmentCommitInfo info
        end local 4 // org.apache.lucene.index.LeafReader reader
        end local 3 // org.apache.lucene.index.IndexWriter$DocModifier toApply
        end local 2 // int docID
        end local 1 // org.apache.lucene.index.IndexReader readerIn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/apache/lucene/index/IndexWriter;
            0   22     1  readerIn  Lorg/apache/lucene/index/IndexReader;
            0   22     2     docID  I
            0   22     3   toApply  Lorg/apache/lucene/index/IndexWriter$DocModifier;
            2    3     4    reader  Lorg/apache/lucene/index/LeafReader;
            6   22     4    reader  Lorg/apache/lucene/index/LeafReader;
            4    9     5    leaves  Ljava/util/List<Lorg/apache/lucene/index/LeafReaderContext;>;
            5    9     6  subIndex  I
           12   22     5      info  Lorg/apache/lucene/index/SegmentCommitInfo;
           14   21     6       rld  Lorg/apache/lucene/index/ReadersAndUpdates;
      Exception table:
        from    to  target  type
          16    18      19  any
          19    20      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      readerIn  
      docID     
      toApply   

  private synchronized void dropDeletedSegment(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 1670
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            aload 1 /* info */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 10
         1: .line 1673
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfos.remove:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            istore 2 /* dropPendingDocs */
        start local 2 // boolean dropPendingDocs
         2: .line 1678
            iload 2 /* dropPendingDocs */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ior
            istore 2 /* dropPendingDocs */
         3: .line 1679
            goto 8
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo int
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 1680
            iload 2 /* dropPendingDocs */
            ifeq 7
         6: .line 1681
            aload 0 /* this */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
         7: .line 1683
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
         8: .line 1680
      StackMap locals:
      StackMap stack:
            iload 2 /* dropPendingDocs */
            ifeq 10
         9: .line 1681
            aload 0 /* this */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        end local 2 // boolean dropPendingDocs
        10: .line 1685
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/apache/lucene/index/IndexWriter;
            0   11     1             info  Lorg/apache/lucene/index/SegmentCommitInfo;
            2   10     2  dropPendingDocs  Z
      Exception table:
        from    to  target  type
           2     4       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      info  

  public long deleteDocuments(org.apache.lucene.index.Term[]);
    descriptor: ([Lorg/apache/lucene/index/Term;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term[] terms
         0: .line 1701
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1703
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            aload 1 /* terms */
            invokevirtual org.apache.lucene.index.DocumentsWriter.deleteTerms:([Lorg/apache/lucene/index/Term;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
         2: lreturn
         3: .line 1704
      StackMap locals:
      StackMap stack: java.lang.VirtualMachineError
            astore 2 /* tragedy */
        start local 2 // java.lang.VirtualMachineError tragedy
         4: .line 1705
            aload 0 /* this */
            aload 2 /* tragedy */
            ldc "deleteDocuments(Term..)"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         5: .line 1706
            aload 2 /* tragedy */
            athrow
        end local 2 // java.lang.VirtualMachineError tragedy
        end local 1 // org.apache.lucene.index.Term[] terms
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1    terms  [Lorg/apache/lucene/index/Term;
            4    6     2  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      terms  

  public long deleteDocuments(org.apache.lucene.search.Query[]);
    descriptor: ([Lorg/apache/lucene/search/Query;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.search.Query[] queries
         0: .line 1723
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1726
            aload 1 /* queries */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Query[] top int int org.apache.lucene.search.Query[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* query */
        start local 2 // org.apache.lucene.search.Query query
         3: .line 1727
            aload 2 /* query */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/apache/lucene/search/MatchAllDocsQuery;
            if_acmpne 5
         4: .line 1728
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteAll:()J
            lreturn
        end local 2 // org.apache.lucene.search.Query query
         5: .line 1726
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 1733
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            aload 1 /* queries */
            invokevirtual org.apache.lucene.index.DocumentsWriter.deleteQueries:([Lorg/apache/lucene/search/Query;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
         8: lreturn
         9: .line 1734
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.search.Query[]
      StackMap stack: java.lang.VirtualMachineError
            astore 2 /* tragedy */
        start local 2 // java.lang.VirtualMachineError tragedy
        10: .line 1735
            aload 0 /* this */
            aload 2 /* tragedy */
            ldc "deleteDocuments(Query..)"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        11: .line 1736
            aload 2 /* tragedy */
            athrow
        end local 2 // java.lang.VirtualMachineError tragedy
        end local 1 // org.apache.lucene.search.Query[] queries
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   12     1  queries  [Lorg/apache/lucene/search/Query;
            3    5     2    query  Lorg/apache/lucene/search/Query;
           10   12     2  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      queries  

  public long updateDocument(org.apache.lucene.index.Term, java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // java.lang.Iterable doc
         0: .line 1757
            aload 0 /* this */
            aload 1 /* term */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.apache.lucene.index.IndexWriter
         1: aload 1 /* term */
            invokestatic org.apache.lucene.index.DocumentsWriterDeleteQueue.newNode:(Lorg/apache/lucene/index/Term;)Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.Term java.lang.Iterable
      StackMap stack: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocumentsWriterDeleteQueue$Node
         2: aload 2 /* doc */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocuments:(Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
            lreturn
        end local 2 // java.lang.Iterable doc
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  term  Lorg/apache/lucene/index/Term;
            0    3     2   doc  Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;)J
    MethodParameters:
      Name  Flags
      term  
      doc   

  public long softUpdateDocument(org.apache.lucene.index.Term, java.lang.Iterable<? extends org.apache.lucene.index.IndexableField>, org.apache.lucene.document.Field[]);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable;[Lorg/apache/lucene/document/Field;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // java.lang.Iterable doc
        start local 3 // org.apache.lucene.document.Field[] softDeletes
         0: .line 1793
            aload 1 /* term */
            ifnonnull 2
         1: .line 1794
            new java.lang.IllegalArgumentException
            dup
            ldc "term must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1796
      StackMap locals:
      StackMap stack:
            aload 3 /* softDeletes */
            ifnull 3
            aload 3 /* softDeletes */
            arraylength
            ifne 4
         3: .line 1797
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "at least one soft delete must be present"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* term */
            aload 3 /* softDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.buildDocValuesUpdate:(Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)[Lorg/apache/lucene/index/DocValuesUpdate;
            invokestatic org.apache.lucene.index.DocumentsWriterDeleteQueue.newNode:([Lorg/apache/lucene/index/DocValuesUpdate;)Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;
            aload 2 /* doc */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.updateDocuments:(Lorg/apache/lucene/index/DocumentsWriterDeleteQueue$Node;Ljava/lang/Iterable;)J
            lreturn
        end local 3 // org.apache.lucene.document.Field[] softDeletes
        end local 2 // java.lang.Iterable doc
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1         term  Lorg/apache/lucene/index/Term;
            0    5     2          doc  Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;
            0    5     3  softDeletes  [Lorg/apache/lucene/document/Field;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/Term;Ljava/lang/Iterable<+Lorg/apache/lucene/index/IndexableField;>;[Lorg/apache/lucene/document/Field;)J
    MethodParameters:
             Name  Flags
      term         
      doc          
      softDeletes  

  public long updateNumericDocValue(org.apache.lucene.index.Term, java.lang.String, long);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/String;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // java.lang.String field
        start local 3 // long value
         0: .line 1824
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1825
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 2 /* field */
            getstatic org.apache.lucene.index.DocValuesType.NUMERIC:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.contains:(Ljava/lang/String;Lorg/apache/lucene/index/DocValuesType;)Z
            ifne 3
         2: .line 1826
            new java.lang.IllegalArgumentException
            dup
            ldc "can only update existing numeric-docvalues fields!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSortFields:()Ljava/util/Set;
            aload 2 /* field */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1829
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot update docvalues field involved in the index sort, field="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", sort="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iconst_1
            anewarray org.apache.lucene.index.DocValuesUpdate
            dup
            iconst_0
            new org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate
            dup
            aload 1 /* term */
            aload 2 /* field */
            lload 3 /* value */
            invokespecial org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate.<init>:(Lorg/apache/lucene/index/Term;Ljava/lang/String;J)V
            aastore
            invokevirtual org.apache.lucene.index.DocumentsWriter.updateDocValues:([Lorg/apache/lucene/index/DocValuesUpdate;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
         6: lreturn
         7: .line 1833
      StackMap locals:
      StackMap stack: java.lang.VirtualMachineError
            astore 5 /* tragedy */
        start local 5 // java.lang.VirtualMachineError tragedy
         8: .line 1834
            aload 0 /* this */
            aload 5 /* tragedy */
            ldc "updateNumericDocValue"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         9: .line 1835
            aload 5 /* tragedy */
            athrow
        end local 5 // java.lang.VirtualMachineError tragedy
        end local 3 // long value
        end local 2 // java.lang.String field
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   10     1     term  Lorg/apache/lucene/index/Term;
            0   10     2    field  Ljava/lang/String;
            0   10     3    value  J
            8   10     5  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      term   
      field  
      value  

  public long updateBinaryDocValue(org.apache.lucene.index.Term, java.lang.String, org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/index/Term;Ljava/lang/String;Lorg/apache/lucene/util/BytesRef;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // java.lang.String field
        start local 3 // org.apache.lucene.util.BytesRef value
         0: .line 1864
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1865
            aload 3 /* value */
            ifnonnull 3
         2: .line 1866
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot update a field to a null value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* field */
            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
         3: .line 1868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 2 /* field */
            getstatic org.apache.lucene.index.DocValuesType.BINARY:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.contains:(Ljava/lang/String;Lorg/apache/lucene/index/DocValuesType;)Z
            ifne 5
         4: .line 1869
            new java.lang.IllegalArgumentException
            dup
            ldc "can only update existing binary-docvalues fields!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iconst_1
            anewarray org.apache.lucene.index.DocValuesUpdate
            dup
            iconst_0
            new org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate
            dup
            aload 1 /* term */
            aload 2 /* field */
            aload 3 /* value */
            invokespecial org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate.<init>:(Lorg/apache/lucene/index/Term;Ljava/lang/String;Lorg/apache/lucene/util/BytesRef;)V
            aastore
            invokevirtual org.apache.lucene.index.DocumentsWriter.updateDocValues:([Lorg/apache/lucene/index/DocValuesUpdate;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
         6: lreturn
         7: .line 1873
      StackMap locals:
      StackMap stack: java.lang.VirtualMachineError
            astore 4 /* tragedy */
        start local 4 // java.lang.VirtualMachineError tragedy
         8: .line 1874
            aload 0 /* this */
            aload 4 /* tragedy */
            ldc "updateBinaryDocValue"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         9: .line 1875
            aload 4 /* tragedy */
            athrow
        end local 4 // java.lang.VirtualMachineError tragedy
        end local 3 // org.apache.lucene.util.BytesRef value
        end local 2 // java.lang.String field
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   10     1     term  Lorg/apache/lucene/index/Term;
            0   10     2    field  Ljava/lang/String;
            0   10     3    value  Lorg/apache/lucene/util/BytesRef;
            8   10     4  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      term   
      field  
      value  

  public long updateDocValues(org.apache.lucene.index.Term, org.apache.lucene.document.Field[]);
    descriptor: (Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // org.apache.lucene.document.Field[] updates
         0: .line 1899
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 1900
            aload 0 /* this */
            aload 1 /* term */
            aload 2 /* updates */
            invokevirtual org.apache.lucene.index.IndexWriter.buildDocValuesUpdate:(Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)[Lorg/apache/lucene/index/DocValuesUpdate;
            astore 3 /* dvUpdates */
        start local 3 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
         2: .line 1902
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            aload 3 /* dvUpdates */
            invokevirtual org.apache.lucene.index.DocumentsWriter.updateDocValues:([Lorg/apache/lucene/index/DocValuesUpdate;)J
            invokevirtual org.apache.lucene.index.IndexWriter.maybeProcessEvents:(J)J
         3: lreturn
         4: .line 1903
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.Term org.apache.lucene.document.Field[] org.apache.lucene.index.DocValuesUpdate[]
      StackMap stack: java.lang.VirtualMachineError
            astore 4 /* tragedy */
        start local 4 // java.lang.VirtualMachineError tragedy
         5: .line 1904
            aload 0 /* this */
            aload 4 /* tragedy */
            ldc "updateDocValues"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         6: .line 1905
            aload 4 /* tragedy */
            athrow
        end local 4 // java.lang.VirtualMachineError tragedy
        end local 3 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
        end local 2 // org.apache.lucene.document.Field[] updates
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/lucene/index/IndexWriter;
            0    7     1       term  Lorg/apache/lucene/index/Term;
            0    7     2    updates  [Lorg/apache/lucene/document/Field;
            2    7     3  dvUpdates  [Lorg/apache/lucene/index/DocValuesUpdate;
            5    7     4    tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      term     
      updates  

  private org.apache.lucene.index.DocValuesUpdate[] buildDocValuesUpdate(org.apache.lucene.index.Term, org.apache.lucene.document.Field[]);
    descriptor: (Lorg/apache/lucene/index/Term;[Lorg/apache/lucene/document/Field;)[Lorg/apache/lucene/index/DocValuesUpdate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=8, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.Term term
        start local 2 // org.apache.lucene.document.Field[] updates
         0: .line 1910
            aload 2 /* updates */
            arraylength
            anewarray org.apache.lucene.index.DocValuesUpdate
            astore 3 /* dvUpdates */
        start local 3 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
         1: .line 1911
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 22
         3: .line 1912
      StackMap locals: org.apache.lucene.index.DocValuesUpdate[] int
      StackMap stack:
            aload 2 /* updates */
            iload 4 /* i */
            aaload
            astore 5 /* f */
        start local 5 // org.apache.lucene.document.Field f
         4: .line 1913
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.fieldType:()Lorg/apache/lucene/index/IndexableFieldType;
            invokeinterface org.apache.lucene.index.IndexableFieldType.docValuesType:()Lorg/apache/lucene/index/DocValuesType;
            astore 6 /* dvType */
        start local 6 // org.apache.lucene.index.DocValuesType dvType
         5: .line 1914
            aload 6 /* dvType */
            ifnonnull 7
         6: .line 1915
            new java.lang.NullPointerException
            dup
            new java.lang.StringBuilder
            dup
            ldc "DocValuesType must not be null (field: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()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;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1917
      StackMap locals: org.apache.lucene.document.Field org.apache.lucene.index.DocValuesType
      StackMap stack:
            aload 6 /* dvType */
            getstatic org.apache.lucene.index.DocValuesType.NONE:Lorg/apache/lucene/index/DocValuesType;
            if_acmpne 9
         8: .line 1918
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "can only update NUMERIC or BINARY fields! field="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            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
         9: .line 1920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            aload 6 /* dvType */
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.contains:(Ljava/lang/String;Lorg/apache/lucene/index/DocValuesType;)Z
            ifne 12
        10: .line 1923
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            iconst_m1
            getstatic org.apache.lucene.index.IndexOptions.NONE:Lorg/apache/lucene/index/IndexOptions;
            aload 6 /* dvType */
            iconst_0
            iconst_0
            iconst_0
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            getfield org.apache.lucene.index.LiveIndexWriterConfig.softDeletesField:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.addOrGet:(Ljava/lang/String;ILorg/apache/lucene/index/IndexOptions;Lorg/apache/lucene/index/DocValuesType;IIIZ)I
            pop
        11: .line 1924
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            aload 6 /* dvType */
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.contains:(Ljava/lang/String;Lorg/apache/lucene/index/DocValuesType;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 1926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSortFields:()Ljava/util/Set;
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1927
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot update docvalues field involved in the index sort, field="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", sort="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1930
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:()[I
            aload 6 /* dvType */
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 15
                    3: 18
              default: 20
          }
        15: .line 1932
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.numericValue:()Ljava/lang/Number;
            checkcast java.lang.Long
            astore 7 /* value */
        start local 7 // java.lang.Long value
        16: .line 1933
            aload 3 /* dvUpdates */
            iload 4 /* i */
            new org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate
            dup
            aload 1 /* term */
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            aload 7 /* value */
            invokespecial org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate.<init>:(Lorg/apache/lucene/index/Term;Ljava/lang/String;Ljava/lang/Long;)V
            aastore
        17: .line 1934
            goto 21
        end local 7 // java.lang.Long value
        18: .line 1936
      StackMap locals:
      StackMap stack:
            aload 3 /* dvUpdates */
            iload 4 /* i */
            new org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate
            dup
            aload 1 /* term */
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.binaryValue:()Lorg/apache/lucene/util/BytesRef;
            invokespecial org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate.<init>:(Lorg/apache/lucene/index/Term;Ljava/lang/String;Lorg/apache/lucene/util/BytesRef;)V
            aastore
        19: .line 1937
            goto 21
        20: .line 1939
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "can only update NUMERIC or BINARY fields: field="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual org.apache.lucene.document.Field.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* dvType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.apache.lucene.index.DocValuesType dvType
        end local 5 // org.apache.lucene.document.Field f
        21: .line 1911
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 2 /* updates */
            arraylength
            if_icmplt 3
        end local 4 // int i
        23: .line 1942
            aload 3 /* dvUpdates */
            areturn
        end local 3 // org.apache.lucene.index.DocValuesUpdate[] dvUpdates
        end local 2 // org.apache.lucene.document.Field[] updates
        end local 1 // org.apache.lucene.index.Term term
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/apache/lucene/index/IndexWriter;
            0   24     1       term  Lorg/apache/lucene/index/Term;
            0   24     2    updates  [Lorg/apache/lucene/document/Field;
            1   24     3  dvUpdates  [Lorg/apache/lucene/index/DocValuesUpdate;
            2   23     4          i  I
            4   21     5          f  Lorg/apache/lucene/document/Field;
            5   21     6     dvType  Lorg/apache/lucene/index/DocValuesType;
           16   18     7      value  Ljava/lang/Long;
    MethodParameters:
         Name  Flags
      term     
      updates  

  final synchronized int getSegmentCount();
    descriptor: ()I
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1947
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.size:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  final synchronized int getNumBufferedDocuments();
    descriptor: ()I
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1952
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNumDocs:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  final synchronized int maxDoc(int);
    descriptor: (I)I
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // int i
         0: .line 1957
            iload 1 /* i */
            iflt 2
            iload 1 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.size:()I
            if_icmpge 2
         1: .line 1958
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iload 1 /* i */
            invokevirtual org.apache.lucene.index.SegmentInfos.info:(I)Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ireturn
         2: .line 1960
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // int i
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  final int getFlushCount();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1966
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  final int getFlushDeletesCount();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1971
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushDeletesCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public java.util.Set<java.lang.String> getFieldNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1988
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.getFieldNames:()Ljava/util/Set;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private java.lang.String newSegmentName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 1994
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            dup
            astore 1
            monitorenter
         1: .line 2000
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         2: .line 2001
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
         3: .line 2002
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            dup
            getfield org.apache.lucene.index.SegmentInfos.counter:J
            dup2_x1
            lconst_1
            ladd
            putfield org.apache.lucene.index.SegmentInfos.counter:J
            bipush 36
            invokestatic java.lang.Long.toString:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1
            monitorexit
         4: areturn
         5: .line 1994
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/lucene/index/IndexWriter;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public void forceMerge(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // int maxNumSegments
         0: .line 2070
            aload 0 /* this */
            iload 1 /* maxNumSegments */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.forceMerge:(IZ)V
         1: .line 2071
            return
        end local 1 // int maxNumSegments
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  maxNumSegments  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      maxNumSegments  

  public void forceMerge(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // int maxNumSegments
        start local 2 // boolean doWait
         0: .line 2080
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 2082
            iload 1 /* maxNumSegments */
            iconst_1
            if_icmpge 3
         2: .line 2083
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxNumSegments must be >= 1; got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* maxNumSegments */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 2086
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 2087
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "forceMerge: index now "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 2088
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "now flush at forceMerge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 2090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         7: .line 2091
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         8: .line 2092
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.resetMergeExceptions:()V
         9: .line 2093
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        10: .line 2094
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.apache.lucene.index.IndexWriter int int org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 4 /* info */
        start local 4 // org.apache.lucene.index.SegmentCommitInfo info
        12: .line 2095
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 13
            aload 4 /* info */
            ifnonnull 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 2096
      StackMap locals: org.apache.lucene.index.IndexWriter int int org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 4 /* info */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.apache.lucene.index.SegmentCommitInfo info
        14: .line 2094
      StackMap locals: org.apache.lucene.index.IndexWriter int int org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 2098
            aload 0 /* this */
            iload 1 /* maxNumSegments */
            putfield org.apache.lucene.index.IndexWriter.mergeMaxNumSegments:I
        16: .line 2102
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 4 /* merge */
        start local 4 // org.apache.lucene.index.MergePolicy$OneMerge merge
        18: .line 2103
            aload 4 /* merge */
            iload 1 /* maxNumSegments */
            putfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
        19: .line 2104
            aload 4 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 21
        20: .line 2107
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 4 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.apache.lucene.index.MergePolicy$OneMerge merge
        21: .line 2102
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        22: .line 2111
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 27
      StackMap locals:
      StackMap stack:
        23: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 4 /* merge */
        start local 4 // org.apache.lucene.index.MergePolicy$OneMerge merge
        24: .line 2112
            aload 4 /* merge */
            iload 1 /* maxNumSegments */
            putfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
        25: .line 2113
            aload 4 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 27
        26: .line 2116
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 4 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.apache.lucene.index.MergePolicy$OneMerge merge
        27: .line 2111
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        28: .line 2091
            aload 3
            monitorexit
        29: goto 32
      StackMap locals: org.apache.lucene.index.IndexWriter int int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        30: aload 3
            monitorexit
        31: athrow
        32: .line 2121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.EXPLICIT:Lorg/apache/lucene/index/MergeTrigger;
            iload 1 /* maxNumSegments */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
        33: .line 2123
            iload 2 /* doWait */
            ifeq 55
        34: .line 2124
            aload 0 /* this */
            dup
            astore 3
            monitorenter
        35: .line 2126
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 37
        36: .line 2127
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot complete forceMerge"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        37: .line 2130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 46
        38: .line 2133
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
        39: .line 2134
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        40: goto 45
        41: .line 2135
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 6 /* merge */
        start local 6 // org.apache.lucene.index.MergePolicy$OneMerge merge
        42: .line 2136
            aload 6 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpeq 44
        43: .line 2137
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "background merge hit exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getException:()Ljava/lang/Throwable;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.apache.lucene.index.MergePolicy$OneMerge merge
        44: .line 2134
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 41
        end local 5 // int i
        end local 4 // int size
        46: .line 2142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maxNumSegmentsMergesPending:()Z
            ifeq 50
        47: .line 2143
            aload 0 /* this */
            ldc "forceMergeBeforeWait"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        48: .line 2144
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doWait:()V
        49: .line 2125
            goto 35
        50: .line 2124
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        51: goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: aload 3
            monitorexit
        53: athrow
        54: .line 2155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
        55: .line 2160
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean doWait
        end local 1 // int maxNumSegments
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   56     0            this  Lorg/apache/lucene/index/IndexWriter;
            0   56     1  maxNumSegments  I
            0   56     2          doWait  Z
           12   14     4            info  Lorg/apache/lucene/index/SegmentCommitInfo;
           18   21     4           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           24   27     4           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           39   46     4            size  I
           40   46     5               i  I
           42   44     6           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
      Exception table:
        from    to  target  type
           8    29      30  any
          30    31      30  any
          35    51      52  any
          52    53      52  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      maxNumSegments  
      doWait          

  private synchronized boolean maxNumSegmentsMergesPending();
    descriptor: ()Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2165
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 1 /* merge */
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         2: .line 2166
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpeq 4
         3: .line 2167
            iconst_1
            ireturn
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         4: .line 2165
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 2170
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 1 /* merge */
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         7: .line 2171
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpeq 9
         8: .line 2172
            iconst_1
            ireturn
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         9: .line 2170
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 2175
            iconst_0
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/lucene/index/IndexWriter;
            2    4     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            7    9     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;

  public void forceMergeDeletes(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean doWait
         0: .line 2185
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 2187
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         2: .line 2189
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 2190
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "forceMergeDeletes: index now "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 2193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            astore 2 /* mergePolicy */
        start local 2 // org.apache.lucene.index.MergePolicy mergePolicy
         5: .line 2195
            iconst_0
            istore 4 /* newMergesFound */
        start local 4 // boolean newMergesFound
         6: .line 2196
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         7: .line 2197
            aload 2 /* mergePolicy */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.findForcedDeletesMerges:(Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 3 /* spec */
        start local 3 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
         8: .line 2198
            aload 3 /* spec */
            ifnull 9
            iconst_1
            goto 10
      StackMap locals: org.apache.lucene.index.IndexWriter int org.apache.lucene.index.MergePolicy org.apache.lucene.index.MergePolicy$MergeSpecification int org.apache.lucene.index.IndexWriter
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* newMergesFound */
        11: .line 2199
            iload 4 /* newMergesFound */
            ifeq 18
        12: .line 2200
            aload 3 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 6 /* numMerges */
        start local 6 // int numMerges
        13: .line 2201
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: goto 17
        15: .line 2202
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            invokevirtual org.apache.lucene.index.IndexWriter.registerMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)Z
            pop
        16: .line 2201
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 6 /* numMerges */
            if_icmplt 15
        end local 7 // int i
        end local 6 // int numMerges
        18: .line 2196
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        19: goto 22
        end local 3 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
      StackMap locals: org.apache.lucene.index.IndexWriter int org.apache.lucene.index.MergePolicy top int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        20: aload 5
            monitorexit
        21: athrow
        start local 3 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        22: .line 2206
      StackMap locals: org.apache.lucene.index.IndexWriter int org.apache.lucene.index.MergePolicy org.apache.lucene.index.MergePolicy$MergeSpecification int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
            getstatic org.apache.lucene.index.MergeTrigger.EXPLICIT:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeScheduler.merge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergeTrigger;)V
        23: .line 2208
            aload 3 /* spec */
            ifnull 48
            iload 1 /* doWait */
            ifeq 48
        24: .line 2209
            aload 3 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 5 /* numMerges */
        start local 5 // int numMerges
        25: .line 2210
            aload 0 /* this */
            dup
            astore 6
            monitorenter
        26: .line 2211
            iconst_1
            istore 7 /* running */
        start local 7 // boolean running
        27: .line 2212
            goto 43
        28: .line 2214
      StackMap locals: int org.apache.lucene.index.IndexWriter int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 30
        29: .line 2215
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot complete forceMergeDeletes"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        30: .line 2221
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* running */
        31: .line 2222
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        32: goto 40
        33: .line 2223
      StackMap locals: int
      StackMap stack:
            aload 3 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 9 /* merge */
        start local 9 // org.apache.lucene.index.MergePolicy$OneMerge merge
        34: .line 2224
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            aload 9 /* merge */
            invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
            ifne 35
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            aload 9 /* merge */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 36
        35: .line 2225
      StackMap locals: org.apache.lucene.index.MergePolicy$OneMerge
      StackMap stack:
            iconst_1
            istore 7 /* running */
        36: .line 2227
      StackMap locals:
      StackMap stack:
            aload 9 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getException:()Ljava/lang/Throwable;
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        37: .line 2228
            aload 10 /* t */
            ifnull 39
        38: .line 2229
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "background merge hit exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* t */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Throwable t
        end local 9 // org.apache.lucene.index.MergePolicy$OneMerge merge
        39: .line 2222
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 8 /* i */
            iload 5 /* numMerges */
            if_icmplt 33
        end local 8 // int i
        41: .line 2234
            iload 7 /* running */
            ifeq 43
        42: .line 2235
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doWait:()V
        43: .line 2212
      StackMap locals:
      StackMap stack:
            iload 7 /* running */
            ifne 28
        end local 7 // boolean running
        44: .line 2210
            aload 6
            monitorexit
        45: goto 48
      StackMap locals: org.apache.lucene.index.IndexWriter int org.apache.lucene.index.MergePolicy org.apache.lucene.index.MergePolicy$MergeSpecification int int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        46: aload 6
            monitorexit
        47: athrow
        end local 5 // int numMerges
        48: .line 2243
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean newMergesFound
        end local 3 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        end local 2 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 1 // boolean doWait
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lorg/apache/lucene/index/IndexWriter;
            0   49     1          doWait  Z
            5   49     2     mergePolicy  Lorg/apache/lucene/index/MergePolicy;
            8   20     3            spec  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           22   49     3            spec  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            6   49     4  newMergesFound  Z
           13   18     6       numMerges  I
           14   18     7               i  I
           25   48     5       numMerges  I
           27   44     7         running  Z
           32   41     8               i  I
           34   39     9           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           37   39    10               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    19      20  any
          20    21      20  any
          26    45      46  any
          46    47      46  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      doWait  

  public void forceMergeDeletes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2266
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.forceMergeDeletes:(Z)V
         1: .line 2267
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  public final void maybeMerge();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2283
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.EXPLICIT:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
         1: .line 2284
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private final void maybeMerge(org.apache.lucene.index.MergePolicy, org.apache.lucene.index.MergeTrigger, int);
    descriptor: (Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy mergePolicy
        start local 2 // org.apache.lucene.index.MergeTrigger trigger
        start local 3 // int maxNumSegments
         0: .line 2287
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 2288
            aload 0 /* this */
            aload 1 /* mergePolicy */
            aload 2 /* trigger */
            iload 3 /* maxNumSegments */
            invokevirtual org.apache.lucene.index.IndexWriter.updatePendingMerges:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            ifnull 3
         2: .line 2289
            aload 0 /* this */
            aload 2 /* trigger */
            invokevirtual org.apache.lucene.index.IndexWriter.executeMerge:(Lorg/apache/lucene/index/MergeTrigger;)V
         3: .line 2291
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int maxNumSegments
        end local 2 // org.apache.lucene.index.MergeTrigger trigger
        end local 1 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1     mergePolicy  Lorg/apache/lucene/index/MergePolicy;
            0    4     2         trigger  Lorg/apache/lucene/index/MergeTrigger;
            0    4     3  maxNumSegments  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      mergePolicy     
      trigger         
      maxNumSegments  

  final void executeMerge(org.apache.lucene.index.MergeTrigger);
    descriptor: (Lorg/apache/lucene/index/MergeTrigger;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergeTrigger trigger
         0: .line 2294
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
            aload 1 /* trigger */
            invokevirtual org.apache.lucene.index.MergeScheduler.merge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergeTrigger;)V
         1: .line 2295
            return
        end local 1 // org.apache.lucene.index.MergeTrigger trigger
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  trigger  Lorg/apache/lucene/index/MergeTrigger;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      trigger  

  private synchronized org.apache.lucene.index.MergePolicy$MergeSpecification updatePendingMerges(org.apache.lucene.index.MergePolicy, org.apache.lucene.index.MergeTrigger, int);
    descriptor: (Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy mergePolicy
        start local 2 // org.apache.lucene.index.MergeTrigger trigger
        start local 3 // int maxNumSegments
         0: .line 2302
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.messageState:()V
         1: .line 2304
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            iload 3 /* maxNumSegments */
            iconst_m1
            if_icmpeq 2
            iload 3 /* maxNumSegments */
            ifgt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2305
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 3
            aload 2 /* trigger */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifne 5
         4: .line 2307
            aconst_null
            areturn
         5: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 7
         6: .line 2312
            aconst_null
            areturn
         7: .line 2316
      StackMap locals:
      StackMap stack:
            iload 3 /* maxNumSegments */
            iconst_m1
            if_icmpeq 20
         8: .line 2317
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 10
            aload 2 /* trigger */
            getstatic org.apache.lucene.index.MergeTrigger.EXPLICIT:Lorg/apache/lucene/index/MergeTrigger;
            if_acmpeq 10
            aload 2 /* trigger */
            getstatic org.apache.lucene.index.MergeTrigger.MERGE_FINISHED:Lorg/apache/lucene/index/MergeTrigger;
            if_acmpeq 10
            new java.lang.AssertionError
            dup
         9: .line 2318
            new java.lang.StringBuilder
            dup
            ldc "Expected EXPLICT or MERGE_FINISHED as trigger even with maxNumSegments set but was: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* trigger */
            invokevirtual org.apache.lucene.index.MergeTrigger.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2320
      StackMap locals:
      StackMap stack:
            aload 1 /* mergePolicy */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iload 3 /* maxNumSegments */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.findForcedMerges:(Lorg/apache/lucene/index/SegmentInfos;ILjava/util/Map;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 4 /* spec */
        start local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        11: .line 2321
            aload 4 /* spec */
            ifnull 24
        12: .line 2322
            aload 4 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 5 /* numMerges */
        start local 5 // int numMerges
        13: .line 2323
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 18
        15: .line 2324
      StackMap locals: org.apache.lucene.index.MergePolicy$MergeSpecification int int
      StackMap stack:
            aload 4 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 7 /* merge */
        start local 7 // org.apache.lucene.index.MergePolicy$OneMerge merge
        16: .line 2325
            aload 7 /* merge */
            iload 3 /* maxNumSegments */
            putfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
        end local 7 // org.apache.lucene.index.MergePolicy$OneMerge merge
        17: .line 2323
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 5 /* numMerges */
            if_icmplt 15
        end local 6 // int i
        end local 5 // int numMerges
        19: .line 2328
            goto 24
        end local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        20: .line 2329
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$MergeTrigger:()[I
            aload 2 /* trigger */
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iaload
            tableswitch { // 6 - 7
                    6: 21
                    7: 21
              default: 23
          }
        21: .line 2332
      StackMap locals:
      StackMap stack:
            aload 1 /* mergePolicy */
            aload 2 /* trigger */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.findFullFlushMerges:(Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 4 /* spec */
        start local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        22: .line 2333
            goto 24
        end local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        23: .line 2335
      StackMap locals:
      StackMap stack:
            aload 1 /* mergePolicy */
            aload 2 /* trigger */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.findMerges:(Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 4 /* spec */
        start local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        24: .line 2338
      StackMap locals: org.apache.lucene.index.MergePolicy$MergeSpecification
      StackMap stack:
            aload 4 /* spec */
            ifnull 31
        25: .line 2339
            aload 4 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 5 /* numMerges */
        start local 5 // int numMerges
        26: .line 2340
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 30
        28: .line 2341
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* spec */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            invokevirtual org.apache.lucene.index.IndexWriter.registerMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)Z
            pop
        29: .line 2340
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            iload 5 /* numMerges */
            if_icmplt 28
        end local 6 // int i
        end local 5 // int numMerges
        31: .line 2344
      StackMap locals:
      StackMap stack:
            aload 4 /* spec */
            areturn
        end local 4 // org.apache.lucene.index.MergePolicy$MergeSpecification spec
        end local 3 // int maxNumSegments
        end local 2 // org.apache.lucene.index.MergeTrigger trigger
        end local 1 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lorg/apache/lucene/index/IndexWriter;
            0   32     1     mergePolicy  Lorg/apache/lucene/index/MergePolicy;
            0   32     2         trigger  Lorg/apache/lucene/index/MergeTrigger;
            0   32     3  maxNumSegments  I
           11   20     4            spec  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           22   23     4            spec  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           24   32     4            spec  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           13   19     5       numMerges  I
           14   19     6               i  I
           16   17     7           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           26   31     5       numMerges  I
           27   31     6               i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      mergePolicy     
      trigger         
      maxNumSegments  

  public synchronized java.util.Set<org.apache.lucene.index.SegmentCommitInfo> getMergingSegments();
    descriptor: ()Ljava/util/Set;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2356
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Signature: ()Ljava/util/Set<Lorg/apache/lucene/index/SegmentCommitInfo;>;

  private synchronized org.apache.lucene.index.MergePolicy$OneMerge getNextMerge();
    descriptor: ()Lorg/apache/lucene/index/MergePolicy$OneMerge;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2366
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifne 2
         1: .line 2367
            aconst_null
            areturn
         2: .line 2370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 1 /* merge */
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         3: .line 2371
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            aload 1 /* merge */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 2372
            aload 1 /* merge */
            areturn
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/lucene/index/IndexWriter;
            3    5     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;

  public synchronized boolean hasPendingMerges();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2382
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  public void rollback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2402
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.shouldClose:(Z)Z
            ifeq 2
         1: .line 2403
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollbackInternal:()V
         2: .line 2405
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private void rollbackInternal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2409
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 2410
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollbackInternalNoCommit:()V
         2: .line 2412
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            i2l
            lcmp
            ifeq 4
            new java.lang.AssertionError
            dup
         3: .line 2413
            new java.lang.StringBuilder
            dup
            ldc "pendingNumDocs "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " totalMaxDoc"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2409
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 2415
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/lucene/index/IndexWriter;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.IOException

  private void rollbackInternalNoCommit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2418
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 2419
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "rollback"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 2423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 2426
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.abortMerges:()V
         4: .line 2427
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.isEmpty:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "we aborted all merges but still have merging segments: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2423
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
         9: .line 2429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 2430
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "rollback: done finish merges"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 2435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            invokevirtual org.apache.lucene.index.MergeScheduler.close:()V
        12: .line 2437
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.close:()V
        13: .line 2438
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 14
            new java.lang.AssertionError
            dup
            ldc "IndexWriter lock should never be hold when aborting"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 2439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.abort:()V
        15: .line 2440
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            getfield org.apache.lucene.index.DocumentsWriter.flushControl:Lorg/apache/lucene/index/DocumentsWriterFlushControl;
            invokevirtual org.apache.lucene.index.DocumentsWriterFlushControl.waitForFlush:()V
        16: .line 2441
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.publishFlushedSegments:(Z)V
        17: .line 2442
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.eventQueue:Lorg/apache/lucene/index/IndexWriter$EventQueue;
            invokevirtual org.apache.lucene.index.IndexWriter$EventQueue.close:()V
        18: .line 2443
            aload 0 /* this */
            dup
            astore 1
            monitorenter
        19: .line 2445
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 29
        20: .line 2446
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.rollbackCommit:(Lorg/apache/lucene/store/Directory;)V
        21: .line 2448
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Lorg/apache/lucene/index/SegmentInfos;)V
        22: .line 2449
            goto 27
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        23: astore 2
        24: .line 2450
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        25: .line 2451
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        26: .line 2452
            aload 2
            athrow
        27: .line 2450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        28: .line 2451
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        29: .line 2454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            istore 2 /* totalMaxDoc */
        start local 2 // int totalMaxDoc
        30: .line 2458
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.rollbackSegments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.SegmentInfos.rollbackSegmentInfos:(Ljava/util/List;)V
        31: .line 2459
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            istore 3 /* rollbackMaxDoc */
        start local 3 // int rollbackMaxDoc
        32: .line 2462
            aload 0 /* this */
            iload 2 /* totalMaxDoc */
            iload 3 /* rollbackMaxDoc */
            isub
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        33: .line 2463
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 35
        34: .line 2464
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "rollback: infos="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 2467
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            ldc "rollback before checkpoint"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        36: .line 2472
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnonnull 40
        37: .line 2473
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iconst_0
            invokevirtual org.apache.lucene.index.IndexFileDeleter.checkpoint:(Lorg/apache/lucene/index/SegmentInfos;Z)V
        38: .line 2474
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.refresh:()V
        39: .line 2475
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.close:()V
        40: .line 2478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            putfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
        41: .line 2480
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.close:()V
        42: .line 2483
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.IndexWriter.closed:Z
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        43: .line 2485
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
            aastore
            invokestatic org.apache.lucene.util.IOUtils.close:([Ljava/io/Closeable;)V
        44: .line 2486
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
        45: .line 2487
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.IndexWriter.closed:Z
        46: .line 2488
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.IndexWriter.closing:Z
        47: .line 2490
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        end local 3 // int rollbackMaxDoc
        end local 2 // int totalMaxDoc
        48: .line 2443
            aload 1
            monitorexit
        49: goto 94
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        50: aload 1
            monitorexit
        51: athrow
        52: .line 2492
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
            astore 1 /* throwable */
        start local 1 // java.lang.Throwable throwable
        53: .line 2493
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        54: .line 2497
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
        55: .line 2498
            aload 0 /* this */
            dup
            astore 2
            monitorenter
        56: .line 2501
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 63
        57: .line 2503
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.rollbackCommit:(Lorg/apache/lucene/store/Directory;)V
        58: .line 2504
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Lorg/apache/lucene/index/SegmentInfos;)V
        59: .line 2505
            goto 62
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        60: astore 3 /* t */
        start local 3 // java.lang.Throwable t
        61: .line 2506
            aload 1 /* throwable */
            aload 3 /* t */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        62: .line 2508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
      StackMap locals:
      StackMap stack:
        63: iconst_3
            anewarray java.io.Closeable
            dup
            iconst_0
        64: .line 2512
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
            aastore
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:([Ljava/io/Closeable;)V
        65: .line 2513
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.writeLock:Lorg/apache/lucene/store/Lock;
        66: .line 2514
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.index.IndexWriter.closed:Z
        67: .line 2515
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.index.IndexWriter.closing:Z
        68: .line 2518
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        69: .line 2498
            aload 2
            monitorexit
        70: goto 88
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: aload 2
            monitorexit
        72: athrow
        73: .line 2520
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        74: .line 2521
            aload 1 /* throwable */
            aload 2 /* t */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t
        75: .line 2523
            aload 1 /* throwable */
            instanceof java.lang.VirtualMachineError
            ifeq 93
        76: .line 2525
            aload 0 /* this */
            aload 1 /* throwable */
            ldc "rollbackInternal"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        77: .line 2526
            goto 93
      StackMap locals:
      StackMap stack: java.lang.Throwable
        78: astore 5 /* t1 */
        start local 5 // java.lang.Throwable t1
        79: .line 2527
            aload 1 /* throwable */
            aload 5 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable t1
        80: goto 93
        81: .line 2522
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        82: .line 2523
            aload 1 /* throwable */
            instanceof java.lang.VirtualMachineError
            ifeq 87
        83: .line 2525
            aload 0 /* this */
            aload 1 /* throwable */
            ldc "rollbackInternal"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        84: .line 2526
            goto 87
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Throwable top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        85: astore 5 /* t1 */
        start local 5 // java.lang.Throwable t1
        86: .line 2527
            aload 1 /* throwable */
            aload 5 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable t1
        87: .line 2530
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        88: .line 2523
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Throwable
      StackMap stack:
            aload 1 /* throwable */
            instanceof java.lang.VirtualMachineError
            ifeq 93
        89: .line 2525
            aload 0 /* this */
            aload 1 /* throwable */
            ldc "rollbackInternal"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        90: .line 2526
            goto 93
      StackMap locals:
      StackMap stack: java.lang.Throwable
        91: astore 5 /* t1 */
        start local 5 // java.lang.Throwable t1
        92: .line 2527
            aload 1 /* throwable */
            aload 5 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable t1
        93: .line 2531
      StackMap locals:
      StackMap stack:
            aload 1 /* throwable */
            athrow
        end local 1 // java.lang.Throwable throwable
        94: .line 2533
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   95     0            this  Lorg/apache/lucene/index/IndexWriter;
           30   48     2     totalMaxDoc  I
           32   48     3  rollbackMaxDoc  I
           53   94     1       throwable  Ljava/lang/Throwable;
           61   62     3               t  Ljava/lang/Throwable;
           74   75     2               t  Ljava/lang/Throwable;
           79   80     5              t1  Ljava/lang/Throwable;
           86   87     5              t1  Ljava/lang/Throwable;
           92   93     5              t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
          21    23      23  any
          19    49      50  any
          50    51      50  any
           2    52      52  Class java.lang.Throwable
          57    59      60  Class java.lang.Throwable
          56    70      71  any
          71    72      71  any
          53    73      73  Class java.lang.Throwable
          76    77      78  Class java.lang.Throwable
          53    75      81  any
          83    84      85  Class java.lang.Throwable
          89    90      91  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  public long deleteAll();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2567
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 2569
            iconst_0
            istore 1 /* success */
        start local 1 // boolean success
         2: .line 2583
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 2584
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.lockAndAbortAll:()Ljava/io/Closeable;
            astore 5 /* finalizer */
        start local 5 // java.io.Closeable finalizer
         5: .line 2585
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
         6: .line 2586
            aload 0 /* this */
            dup
            astore 6
            monitorenter
         7: .line 2590
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.abortMerges:()V
         8: .line 2591
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifeq 9
            new java.lang.AssertionError
            dup
            ldc "merges should be disabled - who enabled them?"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2592
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable org.apache.lucene.index.IndexWriter
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.isEmpty:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "found merging segments but merges are disabled: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2593
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        11: .line 2597
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.enable:()V
        12: .line 2598
            aload 7
            athrow
        13: .line 2597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.enable:()V
        14: .line 2599
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        15: .line 2601
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.clear:()V
        16: .line 2603
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iconst_0
            invokevirtual org.apache.lucene.index.IndexFileDeleter.checkpoint:(Lorg/apache/lucene/index/SegmentInfos;Z)V
        17: .line 2612
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.dropAll:()V
        18: .line 2614
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
        19: .line 2615
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
        20: .line 2616
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.clear:()V
        21: .line 2617
            iconst_1
            istore 1 /* success */
        22: .line 2618
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            lstore 7 /* seqNo */
        start local 7 // long seqNo
        23: .line 2619
            lload 7 /* seqNo */
            lstore 10
        24: .line 2621
            iload 1 /* success */
            ifne 27
        25: .line 2623
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 2624
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during deleteAll"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable org.apache.lucene.index.IndexWriter long top long
      StackMap stack:
        27: aload 6
            monitorexit
        28: .line 2629
            aload 5 /* finalizer */
            ifnull 29
            aload 5 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
        29: .line 2619
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        30: lload 10
            lreturn
        end local 7 // long seqNo
        31: .line 2620
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
            astore 9
        32: .line 2621
            iload 1 /* success */
            ifne 35
        33: .line 2623
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 35
        34: .line 2624
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during deleteAll"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 2627
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable org.apache.lucene.index.IndexWriter top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        36: .line 2586
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        37: athrow
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Closeable
      StackMap stack: java.lang.Throwable
        38: astore 3
        39: .line 2629
            aload 5 /* finalizer */
            ifnull 40
            aload 5 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
        end local 5 // java.io.Closeable finalizer
      StackMap locals:
      StackMap stack:
        40: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 4
            aload 3
            ifnonnull 42
            aload 4
            astore 3
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 3
            aload 4
            if_acmpeq 43
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 3
            athrow
        44: .line 2583
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        45: athrow
        46: .line 2631
      StackMap locals: org.apache.lucene.index.IndexWriter int
      StackMap stack: java.lang.VirtualMachineError
            astore 2 /* tragedy */
        start local 2 // java.lang.VirtualMachineError tragedy
        47: .line 2632
            aload 0 /* this */
            aload 2 /* tragedy */
            ldc "deleteAll"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        48: .line 2633
            aload 2 /* tragedy */
            athrow
        end local 2 // java.lang.VirtualMachineError tragedy
        end local 1 // boolean success
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   49     0       this  Lorg/apache/lucene/index/IndexWriter;
            2   49     1    success  Z
            5   40     5  finalizer  Ljava/io/Closeable;
           23   31     7      seqNo  J
           47   49     2    tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           7    10      10  any
           7    24      31  any
           7    28      36  any
          31    37      36  any
           5    28      38  any
          31    38      38  any
           4    29      41  any
          31    41      41  any
           3    30      44  any
          31    45      44  any
           2    30      46  Class java.lang.VirtualMachineError
          31    46      46  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException

  private synchronized void abortMerges();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2641
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.disable:()V
         1: .line 2643
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$12(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V (7)
                  (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
            invokestatic org.apache.lucene.util.IOUtils.applyToAll:(Ljava/util/Collection;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
         2: .line 2650
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.clear:()V
         3: .line 2652
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 8
      StackMap locals: org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
         4: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 1 /* merge */
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         5: .line 2653
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 2654
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now abort running merge "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 2656
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge java.util.Iterator
      StackMap stack:
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.setAborted:()V
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         8: .line 2652
      StackMap locals: org.apache.lucene.index.IndexWriter top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 2662
            goto 15
        10: .line 2664
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 14
        11: .line 2665
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now wait for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 2666
            ldc " running merge/s to abort; currently running addIndexes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 2665
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 2669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doWait:()V
        15: .line 2662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iadd
            ifne 10
        16: .line 2672
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        17: .line 2673
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 2674
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "all running merges have aborted"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 2676
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lorg/apache/lucene/index/IndexWriter;
            5    8     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    Exceptions:
      throws java.io.IOException

  void waitForMerges();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2689
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
            getstatic org.apache.lucene.index.MergeTrigger.CLOSING:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeScheduler.merge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergeTrigger;)V
         1: .line 2691
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 2692
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         3: .line 2693
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 2694
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "waitForMerges"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 2697
            goto 7
         6: .line 2698
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doWait:()V
         7: .line 2697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifgt 6
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifgt 6
         8: .line 2702
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 2704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 2705
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "waitForMerges done"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 2691
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 2708
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/apache/lucene/index/IndexWriter;
      Exception table:
        from    to  target  type
           2    12      13  any
          13    14      13  any
    Exceptions:
      throws java.io.IOException

  private synchronized void checkpoint();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2716
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
         1: .line 2717
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iconst_0
            invokevirtual org.apache.lucene.index.IndexFileDeleter.checkpoint:(Lorg/apache/lucene/index/SegmentInfos;Z)V
         2: .line 2718
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private synchronized void checkpointNoSIS();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2725
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 2726
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            iconst_0
            invokevirtual org.apache.lucene.index.IndexFileDeleter.checkpoint:(Lorg/apache/lucene/index/SegmentInfos;Z)V
         2: .line 2727
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private synchronized void changed();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2731
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 2732
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
         2: .line 2733
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;

  private synchronized long publishFrozenUpdates(org.apache.lucene.index.FrozenBufferedUpdates);
    descriptor: (Lorg/apache/lucene/index/FrozenBufferedUpdates;)J
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.FrozenBufferedUpdates packet
         0: .line 2736
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 1 /* packet */
            ifnull 1
            aload 1 /* packet */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 1 /* packet */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.push:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)J
            lstore 2 /* nextGen */
        start local 2 // long nextGen
         3: .line 2739
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.eventQueue:Lorg/apache/lucene/index/IndexWriter$EventQueue;
            aload 0 /* this */
            aload 1 /* packet */
            invokedynamic process(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/index/FrozenBufferedUpdates;)Lorg/apache/lucene/index/IndexWriter$Event;
              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:
                  (Lorg/apache/lucene/index/IndexWriter;)V
                  org/apache/lucene/index/IndexWriter.lambda$13(Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/IndexWriter;)V (7)
                  (Lorg/apache/lucene/index/IndexWriter;)V
            invokevirtual org.apache.lucene.index.IndexWriter$EventQueue.add:(Lorg/apache/lucene/index/IndexWriter$Event;)Z
            pop
         4: .line 2754
            lload 2 /* nextGen */
            lreturn
        end local 2 // long nextGen
        end local 1 // org.apache.lucene.index.FrozenBufferedUpdates packet
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1   packet  Lorg/apache/lucene/index/FrozenBufferedUpdates;
            3    5     2  nextGen  J
    MethodParameters:
        Name  Flags
      packet  

  private synchronized void publishFlushedSegment(org.apache.lucene.index.SegmentCommitInfo, org.apache.lucene.index.FieldInfos, org.apache.lucene.index.FrozenBufferedUpdates, org.apache.lucene.index.FrozenBufferedUpdates, org.apache.lucene.index.Sorter$DocMap);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/FieldInfos;Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/Sorter$DocMap;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=15, args_size=6
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo newSegment
        start local 2 // org.apache.lucene.index.FieldInfos fieldInfos
        start local 3 // org.apache.lucene.index.FrozenBufferedUpdates packet
        start local 4 // org.apache.lucene.index.FrozenBufferedUpdates globalPacket
        start local 5 // org.apache.lucene.index.Sorter$DocMap sortMap
         0: .line 2764
            iconst_0
            istore 6 /* published */
        start local 6 // boolean published
         1: .line 2767
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         2: .line 2769
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 2770
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "publishFlushedSegment "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* newSegment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 2773
      StackMap locals: int
      StackMap stack:
            aload 4 /* globalPacket */
            ifnull 6
            aload 4 /* globalPacket */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifeq 6
         5: .line 2774
            aload 0 /* this */
            aload 4 /* globalPacket */
            invokevirtual org.apache.lucene.index.IndexWriter.publishFrozenUpdates:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)J
            pop2
         6: .line 2780
      StackMap locals:
      StackMap stack:
            aload 3 /* packet */
            ifnull 9
            aload 3 /* packet */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifeq 9
         7: .line 2781
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual org.apache.lucene.index.IndexWriter.publishFrozenUpdates:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)J
            lstore 7 /* nextGen */
        start local 7 // long nextGen
         8: .line 2782
            goto 11
        end local 7 // long nextGen
         9: .line 2785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.getNextGen:()J
            lstore 7 /* nextGen */
        start local 7 // long nextGen
        10: .line 2787
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            lload 7 /* nextGen */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.finishedSegment:(J)V
        11: .line 2789
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 2790
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "publish sets newSegment delGen="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 7 /* nextGen */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " seg="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* newSegment */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 2792
      StackMap locals:
      StackMap stack:
            aload 1 /* newSegment */
            lload 7 /* nextGen */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.setBufferedDeletesGen:(J)V
        14: .line 2793
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* newSegment */
            invokevirtual org.apache.lucene.index.SegmentInfos.add:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        15: .line 2794
            iconst_1
            istore 6 /* published */
        16: .line 2795
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        17: .line 2796
            aload 3 /* packet */
            ifnull 20
            aload 3 /* packet */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifeq 20
            aload 5 /* sortMap */
            ifnull 20
        18: .line 2799
            aload 0 /* this */
            aload 1 /* newSegment */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 9 /* rld */
        start local 9 // org.apache.lucene.index.ReadersAndUpdates rld
        19: .line 2800
            aload 9 /* rld */
            aload 5 /* sortMap */
            putfield org.apache.lucene.index.ReadersAndUpdates.sortMap:Lorg/apache/lucene/index/Sorter$DocMap;
        end local 9 // org.apache.lucene.index.ReadersAndUpdates rld
        20: .line 2803
      StackMap locals:
      StackMap stack:
            aload 2 /* fieldInfos */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            getfield org.apache.lucene.index.LiveIndexWriterConfig.softDeletesField:Ljava/lang/String;
            invokevirtual org.apache.lucene.index.FieldInfos.fieldInfo:(Ljava/lang/String;)Lorg/apache/lucene/index/FieldInfo;
            astore 9 /* fieldInfo */
        start local 9 // org.apache.lucene.index.FieldInfo fieldInfo
        21: .line 2807
            aload 9 /* fieldInfo */
            ifnull 25
        22: .line 2808
            aload 9 /* fieldInfo */
            invokevirtual org.apache.lucene.index.FieldInfo.getDocValuesGen:()J
            ldc -1
            lcmp
            ifne 25
        23: .line 2809
            aload 9 /* fieldInfo */
            invokevirtual org.apache.lucene.index.FieldInfo.getDocValuesType:()Lorg/apache/lucene/index/DocValuesType;
            getstatic org.apache.lucene.index.DocValuesType.NONE:Lorg/apache/lucene/index/DocValuesType;
            if_acmpeq 25
        24: .line 2807
            iconst_1
            goto 26
      StackMap locals: org.apache.lucene.index.FieldInfo
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 10 /* hasInitialSoftDeleted */
        start local 10 // boolean hasInitialSoftDeleted
        27: .line 2810
            aload 1 /* newSegment */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:()I
            aload 1 /* newSegment */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmpne 28
            iconst_1
            goto 29
      StackMap locals: int
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 11 /* isFullyHardDeleted */
        start local 11 // boolean isFullyHardDeleted
        30: .line 2814
            iload 10 /* hasInitialSoftDeleted */
            ifne 31
            iload 11 /* isFullyHardDeleted */
            ifeq 47
        31: .line 2817
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newSegment */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 12 /* rld */
        start local 12 // org.apache.lucene.index.ReadersAndUpdates rld
        32: .line 2819
            aload 0 /* this */
            aload 12 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.isFullyDeleted:(Lorg/apache/lucene/index/ReadersAndUpdates;)Z
            ifeq 39
        33: .line 2820
            aload 0 /* this */
            aload 1 /* newSegment */
            invokevirtual org.apache.lucene.index.IndexWriter.dropDeletedSegment:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        34: .line 2821
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        35: .line 2823
            goto 39
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.FieldInfos org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.Sorter$DocMap int long org.apache.lucene.index.FieldInfo int int org.apache.lucene.index.ReadersAndUpdates
      StackMap stack: java.lang.Throwable
        36: astore 13
        37: .line 2824
            aload 0 /* this */
            aload 12 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
        38: .line 2825
            aload 13
            athrow
        39: .line 2824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
        end local 12 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 11 // boolean isFullyHardDeleted
        end local 10 // boolean hasInitialSoftDeleted
        end local 9 // org.apache.lucene.index.FieldInfo fieldInfo
        end local 7 // long nextGen
        40: .line 2828
            goto 47
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.FieldInfos org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.Sorter$DocMap int
      StackMap stack: java.lang.Throwable
        41: astore 14
        42: .line 2829
            iload 6 /* published */
            ifne 44
        43: .line 2830
            aload 0 /* this */
            aload 1 /* newSegment */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        44: .line 2832
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.FieldInfos org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.Sorter$DocMap int top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        45: .line 2833
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        46: .line 2834
            aload 14
            athrow
        47: .line 2829
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.FieldInfos org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.Sorter$DocMap int
      StackMap stack:
            iload 6 /* published */
            ifne 49
        48: .line 2830
            aload 0 /* this */
            aload 1 /* newSegment */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        49: .line 2832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        50: .line 2833
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        51: .line 2836
            return
        end local 6 // boolean published
        end local 5 // org.apache.lucene.index.Sorter$DocMap sortMap
        end local 4 // org.apache.lucene.index.FrozenBufferedUpdates globalPacket
        end local 3 // org.apache.lucene.index.FrozenBufferedUpdates packet
        end local 2 // org.apache.lucene.index.FieldInfos fieldInfos
        end local 1 // org.apache.lucene.index.SegmentCommitInfo newSegment
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   52     0                   this  Lorg/apache/lucene/index/IndexWriter;
            0   52     1             newSegment  Lorg/apache/lucene/index/SegmentCommitInfo;
            0   52     2             fieldInfos  Lorg/apache/lucene/index/FieldInfos;
            0   52     3                 packet  Lorg/apache/lucene/index/FrozenBufferedUpdates;
            0   52     4           globalPacket  Lorg/apache/lucene/index/FrozenBufferedUpdates;
            0   52     5                sortMap  Lorg/apache/lucene/index/Sorter$DocMap;
            1   52     6              published  Z
            8    9     7                nextGen  J
           10   40     7                nextGen  J
           19   20     9                    rld  Lorg/apache/lucene/index/ReadersAndUpdates;
           21   40     9              fieldInfo  Lorg/apache/lucene/index/FieldInfo;
           27   40    10  hasInitialSoftDeleted  Z
           30   40    11     isFullyHardDeleted  Z
           32   40    12                    rld  Lorg/apache/lucene/index/ReadersAndUpdates;
      Exception table:
        from    to  target  type
          32    36      36  any
           1    41      41  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      newSegment    
      fieldInfos    
      packet        
      globalPacket  
      sortMap       

  private synchronized void resetMergeExceptions();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 2839
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 2840
            aload 0 /* this */
            dup
            getfield org.apache.lucene.index.IndexWriter.mergeGen:J
            lconst_1
            ladd
            putfield org.apache.lucene.index.IndexWriter.mergeGen:J
         2: .line 2841
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;

  private void noDupDirs(org.apache.lucene.store.Directory[]);
    descriptor: ([Lorg/apache/lucene/store/Directory;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.store.Directory[] dirs
         0: .line 2844
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* dups */
        start local 2 // java.util.HashSet dups
         1: .line 2845
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 2846
      StackMap locals: java.util.HashSet int
      StackMap stack:
            aload 2 /* dups */
            aload 1 /* dirs */
            iload 3 /* i */
            aaload
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 2847
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dirs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " appears more than once"
            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
         5: .line 2848
      StackMap locals:
      StackMap stack:
            aload 1 /* dirs */
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            if_acmpne 7
         6: .line 2849
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot add directory to itself"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2850
      StackMap locals:
      StackMap stack:
            aload 2 /* dups */
            aload 1 /* dirs */
            iload 3 /* i */
            aaload
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 2845
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* dirs */
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 2852
            return
        end local 2 // java.util.HashSet dups
        end local 1 // org.apache.lucene.store.Directory[] dirs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/lucene/index/IndexWriter;
            0   11     1  dirs  [Lorg/apache/lucene/store/Directory;
            1   11     2  dups  Ljava/util/HashSet<Lorg/apache/lucene/store/Directory;>;
            2   10     3     i  I
    MethodParameters:
      Name  Flags
      dirs  

  private java.util.List<org.apache.lucene.store.Lock> acquireWriteLocks(org.apache.lucene.store.Directory[]);
    descriptor: ([Lorg/apache/lucene/store/Directory;)Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.store.Directory[] dirs
         0: .line 2858
            new java.util.ArrayList
            dup
            aload 1 /* dirs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* locks */
        start local 2 // java.util.List locks
         1: .line 2859
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 15
         3: .line 2860
      StackMap locals: java.util.List int
      StackMap stack:
            iconst_0
            istore 4 /* success */
        start local 4 // boolean success
         4: .line 2862
            aload 1 /* dirs */
            iload 3 /* i */
            aaload
            ldc "write.lock"
            invokevirtual org.apache.lucene.store.Directory.obtainLock:(Ljava/lang/String;)Lorg/apache/lucene/store/Lock;
            astore 5 /* lock */
        start local 5 // org.apache.lucene.store.Lock lock
         5: .line 2863
            aload 2 /* locks */
            aload 5 /* lock */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 2864
            iconst_1
            istore 4 /* success */
        end local 5 // org.apache.lucene.store.Lock lock
         7: .line 2865
            goto 12
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List int int
      StackMap stack: java.lang.Throwable
         8: astore 6
         9: .line 2866
            iload 4 /* success */
            ifne 11
        10: .line 2869
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:(Ljava/lang/Iterable;)V
        11: .line 2871
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List int int top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        12: .line 2866
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List int int
      StackMap stack:
            iload 4 /* success */
            ifne 14
        13: .line 2869
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:(Ljava/lang/Iterable;)V
        end local 4 // boolean success
        14: .line 2859
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* dirs */
            arraylength
            if_icmplt 3
        end local 3 // int i
        16: .line 2873
            aload 2 /* locks */
            areturn
        end local 2 // java.util.List locks
        end local 1 // org.apache.lucene.store.Directory[] dirs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   17     1     dirs  [Lorg/apache/lucene/store/Directory;
            1   17     2    locks  Ljava/util/List<Lorg/apache/lucene/store/Lock;>;
            2   16     3        i  I
            4   14     4  success  Z
            5    7     5     lock  Lorg/apache/lucene/store/Lock;
      Exception table:
        from    to  target  type
           4     8       8  any
    Exceptions:
      throws java.io.IOException
    Signature: ([Lorg/apache/lucene/store/Directory;)Ljava/util/List<Lorg/apache/lucene/store/Lock;>;
    MethodParameters:
      Name  Flags
      dirs  

  public long addIndexes(org.apache.lucene.store.Directory[]);
    descriptor: ([Lorg/apache/lucene/store/Directory;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=9, locals=26, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.store.Directory[] dirs
         0: .line 2919
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 2921
            aload 0 /* this */
            aload 1 /* dirs */
            invokevirtual org.apache.lucene.index.IndexWriter.noDupDirs:([Lorg/apache/lucene/store/Directory;)V
         2: .line 2923
            aload 0 /* this */
            aload 1 /* dirs */
            invokevirtual org.apache.lucene.index.IndexWriter.acquireWriteLocks:([Lorg/apache/lucene/store/Directory;)Ljava/util/List;
            astore 2 /* locks */
        start local 2 // java.util.List locks
         3: .line 2925
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            astore 3 /* indexSort */
        start local 3 // org.apache.lucene.search.Sort indexSort
         4: .line 2927
            iconst_0
            istore 4 /* successTop */
        start local 4 // boolean successTop
         5: .line 2932
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 2933
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "flush at addIndexes(Directory...)"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 2936
      StackMap locals: java.util.List org.apache.lucene.search.Sort int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         8: .line 2938
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* infos */
        start local 7 // java.util.List infos
         9: .line 2941
            lconst_0
            lstore 8 /* totalMaxDoc */
        start local 8 // long totalMaxDoc
        10: .line 2942
            new java.util.ArrayList
            dup
            aload 1 /* dirs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* commits */
        start local 10 // java.util.List commits
        11: .line 2943
            aload 1 /* dirs */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 25
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List top int int org.apache.lucene.store.Directory[]
      StackMap stack:
        12: aload 14
            iload 12
            aaload
            astore 11 /* dir */
        start local 11 // org.apache.lucene.store.Directory dir
        13: .line 2944
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 15
        14: .line 2945
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "addIndexes: process directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 2947
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List org.apache.lucene.store.Directory int int org.apache.lucene.store.Directory[]
      StackMap stack:
            aload 11 /* dir */
            invokestatic org.apache.lucene.index.SegmentInfos.readLatestCommit:(Lorg/apache/lucene/store/Directory;)Lorg/apache/lucene/index/SegmentInfos;
            astore 15 /* sis */
        start local 15 // org.apache.lucene.index.SegmentInfos sis
        16: .line 2948
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            aload 15 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            if_icmpeq 22
        17: .line 2949
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot use addIndexes(Directory) with indexes that have been created by a different Lucene version. The current index was generated by Lucene "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 2951
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 2952
            ldc " while one of the directories contains an index that was generated with Lucene "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 2953
            aload 15 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 2949
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 2955
      StackMap locals: org.apache.lucene.index.SegmentInfos
      StackMap stack:
            lload 8 /* totalMaxDoc */
            aload 15 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.totalMaxDoc:()I
            i2l
            ladd
            lstore 8 /* totalMaxDoc */
        23: .line 2956
            aload 10 /* commits */
            aload 15 /* sis */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // org.apache.lucene.index.SegmentInfos sis
        end local 11 // org.apache.lucene.store.Directory dir
        24: .line 2943
            iinc 12 1
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List top int int org.apache.lucene.store.Directory[]
      StackMap stack:
        25: iload 12
            iload 13
            if_icmplt 12
        26: .line 2960
            aload 0 /* this */
            lload 8 /* totalMaxDoc */
            invokevirtual org.apache.lucene.index.IndexWriter.testReserveDocs:(J)V
        27: .line 2962
            iconst_0
            istore 11 /* success */
        start local 11 // boolean success
        28: .line 2964
            aload 10 /* commits */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 47
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int top java.util.Iterator
      StackMap stack:
        29: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentInfos
            astore 12 /* sis */
        start local 12 // org.apache.lucene.index.SegmentInfos sis
        30: .line 2965
            aload 12 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 15
            goto 46
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.SegmentInfos java.util.Iterator top java.util.Iterator
      StackMap stack:
        31: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 14 /* info */
        start local 14 // org.apache.lucene.index.SegmentCommitInfo info
        32: .line 2966
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 33
            aload 7 /* infos */
            aload 14 /* info */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 33
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "dup info dir="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        33: .line 2968
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.SegmentInfos java.util.Iterator org.apache.lucene.index.SegmentCommitInfo java.util.Iterator
      StackMap stack:
            aload 14 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getIndexSort:()Lorg/apache/lucene/search/Sort;
            astore 16 /* segmentIndexSort */
        start local 16 // org.apache.lucene.search.Sort segmentIndexSort
        34: .line 2970
            aload 3 /* indexSort */
            ifnull 36
            aload 16 /* segmentIndexSort */
            ifnull 35
            aload 3 /* indexSort */
            aload 16 /* segmentIndexSort */
            invokestatic org.apache.lucene.index.IndexWriter.isCongruentSort:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
            ifne 36
        35: .line 2971
      StackMap locals: org.apache.lucene.search.Sort
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot change index sort from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* segmentIndexSort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* indexSort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 2974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.newSegmentName:()Ljava/lang/String;
            astore 17 /* newSegName */
        start local 17 // java.lang.String newSegName
        37: .line 2976
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 39
        38: .line 2977
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "addIndexes: process segment origName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " newName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* newSegName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " info="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        39: .line 2980
      StackMap locals: java.lang.String
      StackMap stack:
            new org.apache.lucene.store.IOContext
            dup
            new org.apache.lucene.store.FlushInfo
            dup
            aload 14 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            aload 14 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            invokespecial org.apache.lucene.store.FlushInfo.<init>:(IJ)V
            invokespecial org.apache.lucene.store.IOContext.<init>:(Lorg/apache/lucene/store/FlushInfo;)V
            astore 18 /* context */
        start local 18 // org.apache.lucene.store.IOContext context
        40: .line 2982
            aload 14 /* info */
            invokestatic org.apache.lucene.index.IndexWriter.readFieldInfos:(Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/FieldInfos;
            astore 19 /* fis */
        start local 19 // org.apache.lucene.index.FieldInfos fis
        41: .line 2983
            aload 19 /* fis */
            invokevirtual org.apache.lucene.index.FieldInfos.iterator:()Ljava/util/Iterator;
            astore 21
            goto 44
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.SegmentInfos java.util.Iterator org.apache.lucene.index.SegmentCommitInfo java.util.Iterator org.apache.lucene.search.Sort java.lang.String org.apache.lucene.store.IOContext org.apache.lucene.index.FieldInfos top java.util.Iterator
      StackMap stack:
        42: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.FieldInfo
            astore 20 /* fi */
        start local 20 // org.apache.lucene.index.FieldInfo fi
        43: .line 2985
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
            aload 20 /* fi */
            getfield org.apache.lucene.index.FieldInfo.name:Ljava/lang/String;
            aload 20 /* fi */
            getfield org.apache.lucene.index.FieldInfo.number:I
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getIndexOptions:()Lorg/apache/lucene/index/IndexOptions;
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getDocValuesType:()Lorg/apache/lucene/index/DocValuesType;
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointDimensionCount:()I
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointIndexDimensionCount:()I
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.getPointNumBytes:()I
            aload 20 /* fi */
            invokevirtual org.apache.lucene.index.FieldInfo.isSoftDeletesField:()Z
            invokevirtual org.apache.lucene.index.FieldInfos$FieldNumbers.addOrGet:(Ljava/lang/String;ILorg/apache/lucene/index/IndexOptions;Lorg/apache/lucene/index/DocValuesType;IIIZ)I
            pop
        end local 20 // org.apache.lucene.index.FieldInfo fi
        44: .line 2983
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        45: .line 2987
            aload 7 /* infos */
            aload 0 /* this */
            aload 14 /* info */
            aload 17 /* newSegName */
            aload 18 /* context */
            invokevirtual org.apache.lucene.index.IndexWriter.copySegmentAsIs:(Lorg/apache/lucene/index/SegmentCommitInfo;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/SegmentCommitInfo;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 19 // org.apache.lucene.index.FieldInfos fis
        end local 18 // org.apache.lucene.store.IOContext context
        end local 17 // java.lang.String newSegName
        end local 16 // org.apache.lucene.search.Sort segmentIndexSort
        end local 14 // org.apache.lucene.index.SegmentCommitInfo info
        46: .line 2965
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.SegmentInfos java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        end local 12 // org.apache.lucene.index.SegmentInfos sis
        47: .line 2964
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        48: .line 2990
            iconst_1
            istore 11 /* success */
        49: .line 2991
            goto 57
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int
      StackMap stack: java.lang.Throwable
        50: astore 22
        51: .line 2992
            iload 11 /* success */
            ifne 56
        52: .line 2993
            aload 7 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 24
            goto 55
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int top top top top top top top top top top java.lang.Throwable top java.util.Iterator
      StackMap stack:
        53: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 23 /* sipc */
        start local 23 // org.apache.lucene.index.SegmentCommitInfo sipc
        54: .line 2995
            aload 0 /* this */
            aload 23 /* sipc */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        end local 23 // org.apache.lucene.index.SegmentCommitInfo sipc
        55: .line 2993
      StackMap locals:
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        56: .line 2998
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 22
            athrow
        57: .line 2992
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int
      StackMap stack:
            iload 11 /* success */
            ifne 62
        58: .line 2993
            aload 7 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 24
            goto 61
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int top top top top top top top top top top top top java.util.Iterator
      StackMap stack:
        59: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 23 /* sipc */
        start local 23 // org.apache.lucene.index.SegmentCommitInfo sipc
        60: .line 2995
            aload 0 /* this */
            aload 23 /* sipc */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        end local 23 // org.apache.lucene.index.SegmentCommitInfo sipc
        61: .line 2993
      StackMap locals:
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 59
        62: .line 3000
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int
      StackMap stack:
            aload 0 /* this */
            dup
            astore 12
            monitorenter
        63: .line 3001
            iconst_0
            istore 11 /* success */
        64: .line 3003
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
        65: .line 3006
            aload 0 /* this */
            lload 8 /* totalMaxDoc */
            invokevirtual org.apache.lucene.index.IndexWriter.reserveDocs:(J)V
        66: .line 3008
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            lstore 5 /* seqNo */
        start local 5 // long seqNo
        67: .line 3010
            iconst_1
            istore 11 /* success */
        68: .line 3011
            goto 76
        end local 5 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        69: astore 13
        70: .line 3012
            iload 11 /* success */
            ifne 75
        71: .line 3013
            aload 7 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 74
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.IndexWriter java.lang.Throwable top java.util.Iterator
      StackMap stack:
        72: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 14 /* sipc */
        start local 14 // org.apache.lucene.index.SegmentCommitInfo sipc
        73: .line 3015
            aload 0 /* this */
            aload 14 /* sipc */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        end local 14 // org.apache.lucene.index.SegmentCommitInfo sipc
        74: .line 3013
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 72
        75: .line 3018
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.IndexWriter java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        start local 5 // long seqNo
        76: .line 3012
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int long java.util.List long java.util.List int org.apache.lucene.index.IndexWriter
      StackMap stack:
            iload 11 /* success */
            ifne 81
        77: .line 3013
            aload 7 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 80
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int long java.util.List long java.util.List int org.apache.lucene.index.IndexWriter top top java.util.Iterator
      StackMap stack:
        78: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 14 /* sipc */
        start local 14 // org.apache.lucene.index.SegmentCommitInfo sipc
        79: .line 3015
            aload 0 /* this */
            aload 14 /* sipc */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        end local 14 // org.apache.lucene.index.SegmentCommitInfo sipc
        80: .line 3013
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 78
        81: .line 3019
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int long java.util.List long java.util.List int org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 7 /* infos */
            invokevirtual org.apache.lucene.index.SegmentInfos.addAll:(Ljava/lang/Iterable;)V
        82: .line 3020
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        83: .line 3000
            aload 12
            monitorexit
        84: goto 87
        end local 5 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top java.util.List long java.util.List int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        85: aload 12
            monitorexit
        86: athrow
        start local 5 // long seqNo
        87: .line 3023
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int long java.util.List long java.util.List int
      StackMap stack:
            iconst_1
            istore 4 /* successTop */
        end local 11 // boolean success
        end local 10 // java.util.List commits
        end local 8 // long totalMaxDoc
        end local 7 // java.util.List infos
        88: .line 3025
            goto 98
        end local 5 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int
      StackMap stack: java.lang.VirtualMachineError
        89: astore 7 /* tragedy */
        start local 7 // java.lang.VirtualMachineError tragedy
        90: .line 3026
            aload 0 /* this */
            aload 7 /* tragedy */
            ldc "addIndexes(Directory...)"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        91: .line 3027
            aload 7 /* tragedy */
            athrow
        end local 7 // java.lang.VirtualMachineError tragedy
        92: .line 3028
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 25
        93: .line 3029
            iload 4 /* successTop */
            ifeq 96
        94: .line 3030
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.close:(Ljava/lang/Iterable;)V
        95: .line 3031
            goto 97
        96: .line 3032
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:(Ljava/lang/Iterable;)V
        97: .line 3034
      StackMap locals:
      StackMap stack:
            aload 25
            athrow
        start local 5 // long seqNo
        98: .line 3029
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.store.Directory[] java.util.List org.apache.lucene.search.Sort int long
      StackMap stack:
            iload 4 /* successTop */
            ifeq 101
        99: .line 3030
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.close:(Ljava/lang/Iterable;)V
       100: .line 3031
            goto 102
       101: .line 3032
      StackMap locals:
      StackMap stack:
            aload 2 /* locks */
            invokestatic org.apache.lucene.util.IOUtils.closeWhileHandlingException:(Ljava/lang/Iterable;)V
       102: .line 3035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:()V
       103: .line 3037
            lload 5 /* seqNo */
            lreturn
        end local 5 // long seqNo
        end local 4 // boolean successTop
        end local 3 // org.apache.lucene.search.Sort indexSort
        end local 2 // java.util.List locks
        end local 1 // org.apache.lucene.store.Directory[] dirs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  104     0              this  Lorg/apache/lucene/index/IndexWriter;
            0  104     1              dirs  [Lorg/apache/lucene/store/Directory;
            3  104     2             locks  Ljava/util/List<Lorg/apache/lucene/store/Lock;>;
            4  104     3         indexSort  Lorg/apache/lucene/search/Sort;
            5  104     4        successTop  Z
           67   69     5             seqNo  J
           76   85     5             seqNo  J
           87   89     5             seqNo  J
           98  104     5             seqNo  J
            9   88     7             infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
           10   88     8       totalMaxDoc  J
           11   88    10           commits  Ljava/util/List<Lorg/apache/lucene/index/SegmentInfos;>;
           13   24    11               dir  Lorg/apache/lucene/store/Directory;
           16   24    15               sis  Lorg/apache/lucene/index/SegmentInfos;
           28   88    11           success  Z
           30   47    12               sis  Lorg/apache/lucene/index/SegmentInfos;
           32   46    14              info  Lorg/apache/lucene/index/SegmentCommitInfo;
           34   46    16  segmentIndexSort  Lorg/apache/lucene/search/Sort;
           37   46    17        newSegName  Ljava/lang/String;
           40   46    18           context  Lorg/apache/lucene/store/IOContext;
           41   46    19               fis  Lorg/apache/lucene/index/FieldInfos;
           43   44    20                fi  Lorg/apache/lucene/index/FieldInfo;
           54   55    23              sipc  Lorg/apache/lucene/index/SegmentCommitInfo;
           60   61    23              sipc  Lorg/apache/lucene/index/SegmentCommitInfo;
           73   74    14              sipc  Lorg/apache/lucene/index/SegmentCommitInfo;
           79   80    14              sipc  Lorg/apache/lucene/index/SegmentCommitInfo;
           90   92     7           tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
          28    50      50  any
          64    69      69  any
          63    84      85  any
          85    86      85  any
           5    88      89  Class java.lang.VirtualMachineError
           5    92      92  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dirs  

  private void validateMergeReader(org.apache.lucene.index.CodecReader);
    descriptor: (Lorg/apache/lucene/index/CodecReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.CodecReader leaf
         0: .line 3041
            aload 1 /* leaf */
            invokevirtual org.apache.lucene.index.CodecReader.getMetaData:()Lorg/apache/lucene/index/LeafMetaData;
            astore 2 /* segmentMeta */
        start local 2 // org.apache.lucene.index.LeafMetaData segmentMeta
         1: .line 3042
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            aload 2 /* segmentMeta */
            invokevirtual org.apache.lucene.index.LeafMetaData.getCreatedVersionMajor:()I
            if_icmpeq 6
         2: .line 3043
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot merge a segment that has been created with major version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 3044
            aload 2 /* segmentMeta */
            invokevirtual org.apache.lucene.index.LeafMetaData.getCreatedVersionMajor:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " into this index which has been created by major version "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 3045
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 3043
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 3048
      StackMap locals: org.apache.lucene.index.LeafMetaData
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            bipush 7
            if_icmplt 8
            aload 2 /* segmentMeta */
            invokevirtual org.apache.lucene.index.LeafMetaData.getMinVersion:()Lorg/apache/lucene/util/Version;
            ifnonnull 8
         7: .line 3049
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Indexes created on or after Lucene 7 must record the created version major, but "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* leaf */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " hides it"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 3052
      StackMap locals:
      StackMap stack:
            aload 2 /* segmentMeta */
            invokevirtual org.apache.lucene.index.LeafMetaData.getSort:()Lorg/apache/lucene/search/Sort;
            astore 3 /* leafIndexSort */
        start local 3 // org.apache.lucene.search.Sort leafIndexSort
         9: .line 3053
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            ifnull 12
        10: .line 3054
            aload 3 /* leafIndexSort */
            ifnull 11
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            aload 3 /* leafIndexSort */
            invokestatic org.apache.lucene.index.IndexWriter.isCongruentSort:(Lorg/apache/lucene/search/Sort;Lorg/apache/lucene/search/Sort;)Z
            ifne 12
        11: .line 3055
      StackMap locals: org.apache.lucene.search.Sort
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot change index sort from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* leafIndexSort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 3057
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.lucene.search.Sort leafIndexSort
        end local 2 // org.apache.lucene.index.LeafMetaData segmentMeta
        end local 1 // org.apache.lucene.index.CodecReader leaf
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/apache/lucene/index/IndexWriter;
            0   13     1           leaf  Lorg/apache/lucene/index/CodecReader;
            1   13     2    segmentMeta  Lorg/apache/lucene/index/LeafMetaData;
            9   13     3  leafIndexSort  Lorg/apache/lucene/search/Sort;
    MethodParameters:
      Name  Flags
      leaf  

  public long addIndexes(org.apache.lucene.index.CodecReader[]);
    descriptor: ([Lorg/apache/lucene/index/CodecReader;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=13, locals=20, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.CodecReader[] readers
         0: .line 3096
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 3099
            lconst_0
            lstore 2 /* numDocs */
        start local 2 // long numDocs
         2: .line 3102
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 3103
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "flush at addIndexes(CodecReader...)"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 3105
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         5: .line 3107
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.newSegmentName:()Ljava/lang/String;
            astore 6 /* mergedName */
        start local 6 // java.lang.String mergedName
         6: .line 3108
            iconst_0
            istore 7 /* numSoftDeleted */
        start local 7 // int numSoftDeleted
         7: .line 3109
            aload 1 /* readers */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 17
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int top int int org.apache.lucene.index.CodecReader[]
      StackMap stack:
         8: aload 11
            iload 9
            aaload
            astore 8 /* leaf */
        start local 8 // org.apache.lucene.index.CodecReader leaf
         9: .line 3110
            lload 2 /* numDocs */
            aload 8 /* leaf */
            invokevirtual org.apache.lucene.index.CodecReader.numDocs:()I
            i2l
            ladd
            lstore 2 /* numDocs */
        10: .line 3111
            aload 0 /* this */
            aload 8 /* leaf */
            invokevirtual org.apache.lucene.index.IndexWriter.validateMergeReader:(Lorg/apache/lucene/index/CodecReader;)V
        11: .line 3112
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.softDeletesEnabled:Z
            ifeq 16
        12: .line 3113
            aload 8 /* leaf */
            invokevirtual org.apache.lucene.index.CodecReader.getLiveDocs:()Lorg/apache/lucene/util/Bits;
            astore 12 /* liveDocs */
        start local 12 // org.apache.lucene.util.Bits liveDocs
        13: .line 3114
            iload 7 /* numSoftDeleted */
        14: .line 3115
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getSoftDeletesField:()Ljava/lang/String;
            aload 8 /* leaf */
            invokestatic org.apache.lucene.search.DocValuesFieldExistsQuery.getDocValuesDocIdSetIterator:(Ljava/lang/String;Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/search/DocIdSetIterator;
            aload 12 /* liveDocs */
        15: .line 3114
            invokestatic org.apache.lucene.index.PendingSoftDeletes.countSoftDeletes:(Lorg/apache/lucene/search/DocIdSetIterator;Lorg/apache/lucene/util/Bits;)I
            iadd
            istore 7 /* numSoftDeleted */
        end local 12 // org.apache.lucene.util.Bits liveDocs
        end local 8 // org.apache.lucene.index.CodecReader leaf
        16: .line 3109
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        17: iload 9
            iload 10
            if_icmplt 8
        18: .line 3120
            aload 0 /* this */
            lload 2 /* numDocs */
            invokevirtual org.apache.lucene.index.IndexWriter.testReserveDocs:(J)V
        19: .line 3122
            new org.apache.lucene.store.IOContext
            dup
            new org.apache.lucene.store.MergeInfo
            dup
            lload 2 /* numDocs */
            invokestatic java.lang.Math.toIntExact:(J)I
            ldc -1
            iconst_0
            iconst_m1
            invokespecial org.apache.lucene.store.MergeInfo.<init>:(IJZI)V
            invokespecial org.apache.lucene.store.IOContext.<init>:(Lorg/apache/lucene/store/MergeInfo;)V
            astore 8 /* context */
        start local 8 // org.apache.lucene.store.IOContext context
        20: .line 3126
            new org.apache.lucene.store.TrackingDirectoryWrapper
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokespecial org.apache.lucene.store.TrackingDirectoryWrapper.<init>:(Lorg/apache/lucene/store/Directory;)V
            astore 9 /* trackingDir */
        start local 9 // org.apache.lucene.store.TrackingDirectoryWrapper trackingDir
        21: .line 3127
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getCodec:()Lorg/apache/lucene/codecs/Codec;
            astore 10 /* codec */
        start local 10 // org.apache.lucene.codecs.Codec codec
        22: .line 3129
            new org.apache.lucene.index.SegmentInfo
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            getstatic org.apache.lucene.util.Version.LATEST:Lorg/apache/lucene/util/Version;
            aconst_null
            aload 6 /* mergedName */
            iconst_m1
        23: .line 3130
            iconst_0
            aload 10 /* codec */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic org.apache.lucene.util.StringHelper.randomId:()[B
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
        24: .line 3129
            invokespecial org.apache.lucene.index.SegmentInfo.<init>:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/util/Version;Lorg/apache/lucene/util/Version;Ljava/lang/String;IZLorg/apache/lucene/codecs/Codec;Ljava/util/Map;[BLjava/util/Map;Lorg/apache/lucene/search/Sort;)V
            astore 11 /* info */
        start local 11 // org.apache.lucene.index.SegmentInfo info
        25: .line 3132
            new org.apache.lucene.index.SegmentMerger
            dup
            aload 1 /* readers */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 11 /* info */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 9 /* trackingDir */
        26: .line 3133
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
        27: .line 3134
            aload 8 /* context */
        28: .line 3132
            invokespecial org.apache.lucene.index.SegmentMerger.<init>:(Ljava/util/List;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/FieldInfos$FieldNumbers;Lorg/apache/lucene/store/IOContext;)V
            astore 12 /* merger */
        start local 12 // org.apache.lucene.index.SegmentMerger merger
        29: .line 3136
            aload 12 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.shouldMerge:()Z
            ifne 32
        30: .line 3137
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
        31: lreturn
        32: .line 3140
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
        33: .line 3141
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
        34: .line 3142
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 35
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifne 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 3143
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
            aload 12 /* merger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        36: .line 3140
            aload 13
            monitorexit
        37: goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: aload 13
            monitorexit
        39: athrow
        40: .line 3146
      StackMap locals:
      StackMap stack:
            aload 12 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.merge:()Lorg/apache/lucene/index/MergeState;
            pop
        41: .line 3147
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 13
        43: .line 3148
            aload 0 /* this */
            dup
            astore 14
            monitorenter
        44: .line 3149
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
            aload 12 /* merger */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        45: .line 3150
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        46: .line 3148
            aload 14
            monitorexit
        47: goto 50
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        48: aload 14
            monitorexit
        49: athrow
        50: .line 3152
      StackMap locals:
      StackMap stack:
            aload 13
            athrow
        51: .line 3148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 14
            monitorenter
        52: .line 3149
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningAddIndexesMerges:Ljava/util/Set;
            aload 12 /* merger */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        53: .line 3150
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        54: .line 3148
            aload 14
            monitorexit
        55: goto 58
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger top org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        56: aload 14
            monitorexit
        57: athrow
        58: .line 3153
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger
      StackMap stack:
            new org.apache.lucene.index.SegmentCommitInfo
            dup
            aload 11 /* info */
            iconst_0
            iload 7 /* numSoftDeleted */
            ldc -1
            ldc -1
            ldc -1
            invokestatic org.apache.lucene.util.StringHelper.randomId:()[B
            invokespecial org.apache.lucene.index.SegmentCommitInfo.<init>:(Lorg/apache/lucene/index/SegmentInfo;IIJJJ[B)V
            astore 13 /* infoPerCommit */
        start local 13 // org.apache.lucene.index.SegmentCommitInfo infoPerCommit
        59: .line 3155
            aload 11 /* info */
            new java.util.HashSet
            dup
            aload 9 /* trackingDir */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual org.apache.lucene.index.SegmentInfo.setFiles:(Ljava/util/Collection;)V
        60: .line 3156
            aload 9 /* trackingDir */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.clearCreatedFiles:()V
        61: .line 3158
            aload 11 /* info */
            ldc "addIndexes(CodecReader...)"
            invokestatic org.apache.lucene.index.IndexWriter.setDiagnostics:(Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;)V
        62: .line 3160
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            astore 14 /* mergePolicy */
        start local 14 // org.apache.lucene.index.MergePolicy mergePolicy
        63: .line 3162
            aload 0 /* this */
            dup
            astore 16
            monitorenter
        64: .line 3163
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifne 68
        65: .line 3165
            aload 0 /* this */
            aload 13 /* infoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        66: .line 3167
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            aload 16
            monitorexit
        67: lreturn
        68: .line 3169
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.MergePolicy top org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
        69: .line 3170
            aload 14 /* mergePolicy */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 13 /* infoPerCommit */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.useCompoundFile:(Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
            istore 15 /* useCompoundFile */
        start local 15 // boolean useCompoundFile
        70: .line 3162
            aload 16
            monitorexit
        71: goto 74
        end local 15 // boolean useCompoundFile
      StackMap locals:
      StackMap stack: java.lang.Throwable
        72: aload 16
            monitorexit
        73: athrow
        start local 15 // boolean useCompoundFile
        74: .line 3174
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.MergePolicy int
      StackMap stack:
            iload 15 /* useCompoundFile */
            ifeq 84
        75: .line 3175
            aload 13 /* infoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            astore 16 /* filesToDelete */
        start local 16 // java.util.Collection filesToDelete
        76: .line 3176
            new org.apache.lucene.store.TrackingDirectoryWrapper
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokespecial org.apache.lucene.store.TrackingDirectoryWrapper.<init>:(Lorg/apache/lucene/store/Directory;)V
            astore 17 /* trackingCFSDir */
        start local 17 // org.apache.lucene.store.TrackingDirectoryWrapper trackingCFSDir
        77: .line 3180
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 17 /* trackingCFSDir */
            aload 11 /* info */
            aload 8 /* context */
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.deleteNewFiles(Ljava/util/Collection;)V (7)
                  (Ljava/util/Collection;)V
            invokestatic org.apache.lucene.index.IndexWriter.createCompoundFile:(Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/TrackingDirectoryWrapper;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
        78: .line 3181
            goto 82
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long top top java.lang.String int org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.codecs.Codec org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentMerger org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.MergePolicy int java.util.Collection org.apache.lucene.store.TrackingDirectoryWrapper
      StackMap stack: java.lang.Throwable
        79: astore 19
        80: .line 3184
            aload 0 /* this */
            aload 16 /* filesToDelete */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        81: .line 3185
            aload 19
            athrow
        82: .line 3184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 16 /* filesToDelete */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        83: .line 3186
            aload 11 /* info */
            iconst_1
            invokevirtual org.apache.lucene.index.SegmentInfo.setUseCompoundFile:(Z)V
        end local 17 // org.apache.lucene.store.TrackingDirectoryWrapper trackingCFSDir
        end local 16 // java.util.Collection filesToDelete
        84: .line 3193
      StackMap locals:
      StackMap stack:
            aload 10 /* codec */
            invokevirtual org.apache.lucene.codecs.Codec.segmentInfoFormat:()Lorg/apache/lucene/codecs/SegmentInfoFormat;
            aload 9 /* trackingDir */
            aload 11 /* info */
            aload 8 /* context */
            invokevirtual org.apache.lucene.codecs.SegmentInfoFormat.write:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;)V
        85: .line 3195
            aload 11 /* info */
            aload 9 /* trackingDir */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokevirtual org.apache.lucene.index.SegmentInfo.addFiles:(Ljava/util/Collection;)V
        86: .line 3198
            aload 0 /* this */
            dup
            astore 16
            monitorenter
        87: .line 3199
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifne 91
        88: .line 3201
            aload 0 /* this */
            aload 13 /* infoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        89: .line 3203
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            aload 16
            monitorexit
        90: lreturn
        91: .line 3205
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
        92: .line 3208
            aload 0 /* this */
            lload 2 /* numDocs */
            invokevirtual org.apache.lucene.index.IndexWriter.reserveDocs:(J)V
        93: .line 3210
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 13 /* infoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentInfos.add:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        94: .line 3211
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNextSequenceNumber:()J
            lstore 4 /* seqNo */
        start local 4 // long seqNo
        95: .line 3212
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        96: .line 3198
            aload 16
            monitorexit
        97: goto 103
        end local 4 // long seqNo
      StackMap locals:
      StackMap stack: java.lang.Throwable
        98: aload 16
            monitorexit
        99: athrow
        end local 15 // boolean useCompoundFile
        end local 14 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 13 // org.apache.lucene.index.SegmentCommitInfo infoPerCommit
        end local 12 // org.apache.lucene.index.SegmentMerger merger
        end local 11 // org.apache.lucene.index.SegmentInfo info
        end local 10 // org.apache.lucene.codecs.Codec codec
        end local 9 // org.apache.lucene.store.TrackingDirectoryWrapper trackingDir
        end local 8 // org.apache.lucene.store.IOContext context
        end local 7 // int numSoftDeleted
        end local 6 // java.lang.String mergedName
       100: .line 3214
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader[] long
      StackMap stack: java.lang.VirtualMachineError
            astore 6 /* tragedy */
        start local 6 // java.lang.VirtualMachineError tragedy
       101: .line 3215
            aload 0 /* this */
            aload 6 /* tragedy */
            ldc "addIndexes(CodecReader...)"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
       102: .line 3216
            aload 6 /* tragedy */
            athrow
        end local 6 // java.lang.VirtualMachineError tragedy
        start local 4 // long seqNo
       103: .line 3218
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:()V
       104: .line 3220
            lload 4 /* seqNo */
            lreturn
        end local 4 // long seqNo
        end local 2 // long numDocs
        end local 1 // org.apache.lucene.index.CodecReader[] readers
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  105     0             this  Lorg/apache/lucene/index/IndexWriter;
            0  105     1          readers  [Lorg/apache/lucene/index/CodecReader;
            2  105     2          numDocs  J
           95   98     4            seqNo  J
          103  105     4            seqNo  J
            6  100     6       mergedName  Ljava/lang/String;
            7  100     7   numSoftDeleted  I
            9   16     8             leaf  Lorg/apache/lucene/index/CodecReader;
           13   16    12         liveDocs  Lorg/apache/lucene/util/Bits;
           20  100     8          context  Lorg/apache/lucene/store/IOContext;
           21  100     9      trackingDir  Lorg/apache/lucene/store/TrackingDirectoryWrapper;
           22  100    10            codec  Lorg/apache/lucene/codecs/Codec;
           25  100    11             info  Lorg/apache/lucene/index/SegmentInfo;
           29  100    12           merger  Lorg/apache/lucene/index/SegmentMerger;
           59  100    13    infoPerCommit  Lorg/apache/lucene/index/SegmentCommitInfo;
           63  100    14      mergePolicy  Lorg/apache/lucene/index/MergePolicy;
           70   72    15  useCompoundFile  Z
           74  100    15  useCompoundFile  Z
           76   84    16    filesToDelete  Ljava/util/Collection<Ljava/lang/String;>;
           77   84    17   trackingCFSDir  Lorg/apache/lucene/store/TrackingDirectoryWrapper;
          101  103     6          tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
          33    37      38  any
          38    39      38  any
          40    42      42  any
          44    47      48  any
          48    49      48  any
          52    55      56  any
          56    57      56  any
          64    67      72  any
          68    71      72  any
          72    73      72  any
          77    79      79  any
          87    90      98  any
          91    97      98  any
          98    99      98  any
           2    31     100  Class java.lang.VirtualMachineError
          32    67     100  Class java.lang.VirtualMachineError
          68    90     100  Class java.lang.VirtualMachineError
          91   100     100  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      readers  

  private org.apache.lucene.index.SegmentCommitInfo copySegmentAsIs(org.apache.lucene.index.SegmentCommitInfo, java.lang.String, org.apache.lucene.store.IOContext);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/SegmentCommitInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=12, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
        start local 2 // java.lang.String segName
        start local 3 // org.apache.lucene.store.IOContext context
         0: .line 3227
            new org.apache.lucene.index.SegmentInfo
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getVersion:()Lorg/apache/lucene/util/Version;
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getMinVersion:()Lorg/apache/lucene/util/Version;
            aload 2 /* segName */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
         1: .line 3228
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getUseCompoundFile:()Z
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getCodec:()Lorg/apache/lucene/codecs/Codec;
         2: .line 3229
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getDiagnostics:()Ljava/util/Map;
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getId:()[B
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getAttributes:()Ljava/util/Map;
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.getIndexSort:()Lorg/apache/lucene/search/Sort;
         3: .line 3227
            invokespecial org.apache.lucene.index.SegmentInfo.<init>:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/util/Version;Lorg/apache/lucene/util/Version;Ljava/lang/String;IZLorg/apache/lucene/codecs/Codec;Ljava/util/Map;[BLjava/util/Map;Lorg/apache/lucene/search/Sort;)V
            astore 4 /* newInfo */
        start local 4 // org.apache.lucene.index.SegmentInfo newInfo
         4: .line 3230
            new org.apache.lucene.index.SegmentCommitInfo
            dup
            aload 4 /* newInfo */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:()I
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getSoftDelCount:()I
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelGen:()J
         5: .line 3231
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getFieldInfosGen:()J
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDocValuesGen:()J
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getId:()[B
         6: .line 3230
            invokespecial org.apache.lucene.index.SegmentCommitInfo.<init>:(Lorg/apache/lucene/index/SegmentInfo;IIJJJ[B)V
            astore 5 /* newInfoPerCommit */
        start local 5 // org.apache.lucene.index.SegmentCommitInfo newInfoPerCommit
         7: .line 3233
            aload 4 /* newInfo */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.files:()Ljava/util/Set;
            invokevirtual org.apache.lucene.index.SegmentInfo.setFiles:(Ljava/util/Collection;)V
         8: .line 3234
            aload 5 /* newInfoPerCommit */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getFieldInfosFiles:()Ljava/util/Set;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.setFieldInfosFiles:(Ljava/util/Set;)V
         9: .line 3235
            aload 5 /* newInfoPerCommit */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDocValuesUpdatesFiles:()Ljava/util/Map;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.setDocValuesUpdatesFiles:(Ljava/util/Map;)V
        10: .line 3237
            iconst_0
            istore 6 /* success */
        start local 6 // boolean success
        11: .line 3239
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* copiedFiles */
        start local 7 // java.util.Set copiedFiles
        12: .line 3242
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 17
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo java.lang.String org.apache.lucene.store.IOContext org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentCommitInfo int java.util.Set top java.util.Iterator
      StackMap stack:
        13: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* file */
        start local 8 // java.lang.String file
        14: .line 3243
            aload 4 /* newInfo */
            aload 8 /* file */
            invokevirtual org.apache.lucene.index.SegmentInfo.namedForThisSegment:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* newFileName */
        start local 10 // java.lang.String newFileName
        15: .line 3244
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 8 /* file */
            aload 10 /* newFileName */
            aload 3 /* context */
            invokevirtual org.apache.lucene.store.Directory.copyFrom:(Lorg/apache/lucene/store/Directory;Ljava/lang/String;Ljava/lang/String;Lorg/apache/lucene/store/IOContext;)V
        16: .line 3245
            aload 7 /* copiedFiles */
            aload 10 /* newFileName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String newFileName
        end local 8 // java.lang.String file
        17: .line 3242
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 3247
            iconst_1
            istore 6 /* success */
        19: .line 3248
            goto 24
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo java.lang.String org.apache.lucene.store.IOContext org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentCommitInfo int java.util.Set
      StackMap stack: java.lang.Throwable
        20: astore 11
        21: .line 3249
            iload 6 /* success */
            ifne 23
        22: .line 3251
            aload 0 /* this */
            aload 7 /* copiedFiles */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        23: .line 3253
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo java.lang.String org.apache.lucene.store.IOContext org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentCommitInfo int java.util.Set top top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        24: .line 3249
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentCommitInfo java.lang.String org.apache.lucene.store.IOContext org.apache.lucene.index.SegmentInfo org.apache.lucene.index.SegmentCommitInfo int java.util.Set
      StackMap stack:
            iload 6 /* success */
            ifne 26
        25: .line 3251
            aload 0 /* this */
            aload 7 /* copiedFiles */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        26: .line 3255
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 27
            aload 7 /* copiedFiles */
            aload 5 /* newInfoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 27
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "copiedFiles="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* copiedFiles */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " vs "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* newInfoPerCommit */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        27: .line 3257
      StackMap locals:
      StackMap stack:
            aload 5 /* newInfoPerCommit */
            areturn
        end local 7 // java.util.Set copiedFiles
        end local 6 // boolean success
        end local 5 // org.apache.lucene.index.SegmentCommitInfo newInfoPerCommit
        end local 4 // org.apache.lucene.index.SegmentInfo newInfo
        end local 3 // org.apache.lucene.store.IOContext context
        end local 2 // java.lang.String segName
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Lorg/apache/lucene/index/IndexWriter;
            0   28     1              info  Lorg/apache/lucene/index/SegmentCommitInfo;
            0   28     2           segName  Ljava/lang/String;
            0   28     3           context  Lorg/apache/lucene/store/IOContext;
            4   28     4           newInfo  Lorg/apache/lucene/index/SegmentInfo;
            7   28     5  newInfoPerCommit  Lorg/apache/lucene/index/SegmentCommitInfo;
           11   28     6           success  Z
           12   28     7       copiedFiles  Ljava/util/Set<Ljava/lang/String;>;
           14   17     8              file  Ljava/lang/String;
           15   17    10       newFileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          12    20      20  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      info     
      segName  
      context  

  protected void doAfterFlush();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3265
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  protected void doBeforeFlush();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3271
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  public final long prepareCommit();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3293
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 3294
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.prepareCommitInternal:()J
            putfield org.apache.lucene.index.IndexWriter.pendingSeqNo:J
         2: .line 3296
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ifeq 4
         3: .line 3297
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.FULL_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
         4: .line 3299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingSeqNo:J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  public final boolean flushNextBuffer();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3317
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.flushOneDWPT:()Z
            ifeq 4
         1: .line 3318
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
         2: .line 3326
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
         3: .line 3319
            iconst_1
            ireturn
         4: .line 3326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
         5: .line 3321
            iconst_0
            ireturn
         6: .line 3322
      StackMap locals:
      StackMap stack: java.lang.VirtualMachineError
            astore 1 /* tragedy */
        start local 1 // java.lang.VirtualMachineError tragedy
         7: .line 3323
            aload 0 /* this */
            aload 1 /* tragedy */
            ldc "flushNextBuffer"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         8: .line 3324
            aload 1 /* tragedy */
            athrow
        end local 1 // java.lang.VirtualMachineError tragedy
         9: .line 3325
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        10: .line 3326
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        11: .line 3327
            aload 2
            athrow
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/lucene/index/IndexWriter;
            7    9     1  tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           0     2       6  Class java.lang.VirtualMachineError
           0     2       9  any
           6     9       9  any
    Exceptions:
      throws java.io.IOException

  private long prepareCommitInternal();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3331
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.apache.lucene.index.IndexWriter.startCommitTime:J
         1: .line 3332
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         2: .line 3333
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         3: .line 3334
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 3335
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "prepareCommit: flush"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 3336
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "  index before flush "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 3339
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 8
         7: .line 3340
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot commit"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         8: .line 3343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 10
         9: .line 3344
            new java.lang.IllegalStateException
            dup
            ldc "prepareCommit was already called with no corresponding call to commit"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 3347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doBeforeFlush:()V
        11: .line 3348
            aload 0 /* this */
            ldc "startDoFlush"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        12: .line 3349
            aconst_null
            astore 2 /* toCommit */
        start local 2 // org.apache.lucene.index.SegmentInfos toCommit
        13: .line 3350
            iconst_0
            istore 3 /* anyChanges */
        start local 3 // boolean anyChanges
        14: .line 3352
            aconst_null
            astore 6 /* pointInTimeMerges */
        start local 6 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
        15: .line 3353
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 7 /* stopAddingMergedSegments */
        start local 7 // java.util.concurrent.atomic.AtomicBoolean stopAddingMergedSegments
        16: .line 3354
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMaxFullFlushMergeWaitMillis:()J
            lstore 8 /* maxCommitMergeWaitMillis */
        start local 8 // long maxCommitMergeWaitMillis
        17: .line 3361
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            dup
            astore 10
            monitorenter
        18: .line 3362
            iconst_0
            istore 11 /* flushSuccess */
        start local 11 // boolean flushSuccess
        19: .line 3363
            iconst_0
            istore 12 /* success */
        start local 12 // boolean success
        20: .line 3365
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.flushAllThreads:()J
            lstore 4 /* seqNo */
        start local 4 // long seqNo
        21: .line 3366
            lload 4 /* seqNo */
            lconst_0
            lcmp
            ifge 24
        22: .line 3367
            iconst_1
            istore 3 /* anyChanges */
        23: .line 3368
            lload 4 /* seqNo */
            lneg
            lstore 4 /* seqNo */
        24: .line 3370
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int
      StackMap stack:
            iload 3 /* anyChanges */
            ifne 26
        25: .line 3373
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        26: .line 3375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.publishFlushedSegments:(Z)V
        27: .line 3377
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        28: .line 3379
            iconst_1
            istore 11 /* flushSuccess */
        29: .line 3381
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.applyAllDeletesAndUpdates:()V
        30: .line 3382
            aload 0 /* this */
            dup
            astore 13
            monitorenter
        31: .line 3383
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.writeReaderPool:(Z)V
        32: .line 3384
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
            lcmp
            ifeq 35
        33: .line 3389
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
        34: .line 3390
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
        35: .line 3393
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitUserData:Ljava/lang/Iterable;
            ifnull 42
        36: .line 3394
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 14 /* userData */
        start local 14 // java.util.Map userData
        37: .line 3395
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitUserData:Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 16
            goto 40
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int org.apache.lucene.index.IndexWriter java.util.Map top java.util.Iterator
      StackMap stack:
        38: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 15 /* ent */
        start local 15 // java.util.Map$Entry ent
        39: .line 3396
            aload 14 /* userData */
            aload 15 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 15 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.util.Map$Entry ent
        40: .line 3395
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        41: .line 3398
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 14 /* userData */
            iconst_0
            invokevirtual org.apache.lucene.index.SegmentInfos.setUserData:(Ljava/util/Map;Z)V
        end local 14 // java.util.Map userData
        42: .line 3406
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.clone:()Lorg/apache/lucene/index/SegmentInfos;
            astore 2 /* toCommit */
        43: .line 3407
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            putfield org.apache.lucene.index.IndexWriter.pendingCommitChangeCount:J
        44: .line 3413
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 2 /* toCommit */
            iconst_0
            invokevirtual org.apache.lucene.index.SegmentInfos.files:(Z)Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.incRef:(Ljava/util/Collection;)V
        45: .line 3414
            iload 3 /* anyChanges */
            ifeq 47
            lload 8 /* maxCommitMergeWaitMillis */
            lconst_0
            lcmp
            ifle 47
        46: .line 3417
            aload 0 /* this */
            aload 2 /* toCommit */
            aload 7 /* stopAddingMergedSegments */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic getAsBoolean(Ljava/util/concurrent/atomic/AtomicBoolean;)Ljava/util/function/BooleanSupplier;
              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:
                  ()Z
                  java/util/concurrent/atomic/AtomicBoolean.get()Z (5)
                  ()Z
            getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
            invokedynamic accept()Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$16(Lorg/apache/lucene/index/SegmentCommitInfo;)V (6)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)V
            invokevirtual org.apache.lucene.index.IndexWriter.preparePointInTimeMerge:(Lorg/apache/lucene/index/SegmentInfos;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/util/IOUtils$IOConsumer;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 6 /* pointInTimeMerges */
        47: .line 3382
      StackMap locals:
      StackMap stack:
            aload 13
            monitorexit
        48: goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: aload 13
            monitorexit
        50: athrow
        51: .line 3420
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* success */
        52: .line 3421
            goto 61
        end local 4 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int top top org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int
      StackMap stack: java.lang.Throwable
        53: astore 17
        54: .line 3422
            iload 12 /* success */
            ifne 57
        55: .line 3423
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 57
        56: .line 3424
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during prepareCommit"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        57: .line 3427
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int top top org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int top top top top java.lang.Throwable
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 58
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 58
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        58: .line 3429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 11 /* flushSuccess */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        59: .line 3430
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        60: .line 3431
            aload 17
            athrow
        start local 4 // long seqNo
        61: .line 3422
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object int int
      StackMap stack:
            iload 12 /* success */
            ifne 64
        62: .line 3423
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 64
        63: .line 3424
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during prepareCommit"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        64: .line 3427
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 65
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 65
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        65: .line 3429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 11 /* flushSuccess */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        66: .line 3430
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        end local 12 // boolean success
        end local 11 // boolean flushSuccess
        67: .line 3361
            aload 10
            monitorexit
        68: goto 77
        end local 4 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int top top org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Object
      StackMap stack: java.lang.Throwable
        69: aload 10
            monitorexit
        70: athrow
        71: .line 3433
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int top top org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long
      StackMap stack: java.lang.VirtualMachineError
            astore 10 /* tragedy */
        start local 10 // java.lang.VirtualMachineError tragedy
        72: .line 3434
            aload 0 /* this */
            aload 10 /* tragedy */
            ldc "prepareCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        73: .line 3435
            aload 10 /* tragedy */
            athrow
        end local 10 // java.lang.VirtualMachineError tragedy
        74: .line 3436
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 18
        75: .line 3437
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        76: .line 3438
            aload 18
            athrow
        start local 4 // long seqNo
        77: .line 3437
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        78: .line 3440
            aload 6 /* pointInTimeMerges */
            ifnull 91
        79: .line 3441
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 81
        80: .line 3442
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now run merges during commit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* pointInTimeMerges */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.MergePolicy$MergeSpecification.segString:(Lorg/apache/lucene/store/Directory;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        81: .line 3444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
            getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeScheduler.merge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergeTrigger;)V
        82: .line 3445
            aload 6 /* pointInTimeMerges */
            lload 8 /* maxCommitMergeWaitMillis */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.lucene.index.MergePolicy$MergeSpecification.await:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        83: .line 3446
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 85
        84: .line 3447
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "done waiting for merges during commit"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        85: .line 3449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 10
            monitorenter
        86: .line 3451
            aload 7 /* stopAddingMergedSegments */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        87: .line 3449
            aload 10
            monitorexit
        88: goto 91
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        89: aload 10
            monitorexit
        90: athrow
        91: .line 3456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toCommit */
            iconst_0
            invokevirtual org.apache.lucene.index.SegmentInfos.files:(Z)Ljava/util/Collection;
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        92: .line 3458
            iload 3 /* anyChanges */
            ifeq 94
        93: .line 3459
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        94: .line 3461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toCommit */
            invokevirtual org.apache.lucene.index.IndexWriter.startCommit:(Lorg/apache/lucene/index/SegmentInfos;)V
        95: .line 3462
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnonnull 98
        96: .line 3463
            aload 1
            monitorexit
        97: ldc -1
            lreturn
        98: .line 3465
      StackMap locals:
      StackMap stack:
            lload 4 /* seqNo */
        99: aload 1
            monitorexit
       100: lreturn
       101: .line 3467
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
       102: .line 3468
            aload 0 /* this */
            dup
            astore 11
            monitorenter
       103: .line 3469
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            ifnull 113
       104: .line 3471
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
       105: .line 3472
            goto 112
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object org.apache.lucene.index.SegmentInfos int long org.apache.lucene.index.MergePolicy$MergeSpecification java.util.concurrent.atomic.AtomicBoolean long java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
       106: astore 12 /* t1 */
        start local 12 // java.lang.Throwable t1
       107: .line 3473
            aload 10 /* t */
            aload 12 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t1
       108: .line 3475
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            goto 113
       109: .line 3474
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
       110: .line 3475
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
       111: .line 3476
            aload 13
            athrow
       112: .line 3475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
       113: .line 3468
      StackMap locals:
      StackMap stack:
            aload 11
            monitorexit
       114: goto 117
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: aload 11
            monitorexit
       116: athrow
       117: .line 3479
      StackMap locals:
      StackMap stack:
            aload 10 /* t */
            athrow
        end local 10 // java.lang.Throwable t
        end local 8 // long maxCommitMergeWaitMillis
        end local 7 // java.util.concurrent.atomic.AtomicBoolean stopAddingMergedSegments
        end local 6 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
        end local 4 // long seqNo
        end local 3 // boolean anyChanges
        end local 2 // org.apache.lucene.index.SegmentInfos toCommit
       118: .line 3332
      StackMap locals: org.apache.lucene.index.IndexWriter java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
       119: athrow
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0  120     0                      this  Lorg/apache/lucene/index/IndexWriter;
           13  118     2                  toCommit  Lorg/apache/lucene/index/SegmentInfos;
           14  118     3                anyChanges  Z
           21   53     4                     seqNo  J
           61   69     4                     seqNo  J
           77  118     4                     seqNo  J
           15  118     6         pointInTimeMerges  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
           16  118     7  stopAddingMergedSegments  Ljava/util/concurrent/atomic/AtomicBoolean;
           17  118     8  maxCommitMergeWaitMillis  J
           19   67    11              flushSuccess  Z
           20   67    12                   success  Z
           37   42    14                  userData  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           39   40    15                       ent  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           72   74    10                   tragedy  Ljava/lang/VirtualMachineError;
          102  118    10                         t  Ljava/lang/Throwable;
          107  108    12                        t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          31    48      49  any
          49    50      49  any
          20    53      53  any
          18    68      69  any
          69    70      69  any
          17    71      71  Class java.lang.VirtualMachineError
          17    74      74  any
          86    88      89  any
          89    90      89  any
          92    96     101  Class java.lang.Throwable
          98    99     101  Class java.lang.Throwable
         104   105     106  Class java.lang.Throwable
         104   108     109  any
         103   114     115  any
         115   116     115  any
           2    97     118  any
          98   100     118  any
         101   119     118  any
    Exceptions:
      throws java.io.IOException

  private org.apache.lucene.index.MergePolicy$MergeSpecification preparePointInTimeMerge(org.apache.lucene.index.SegmentInfos, java.util.function.BooleanSupplier, org.apache.lucene.index.MergeTrigger, org.apache.lucene.util.IOUtils$IOConsumer<org.apache.lucene.index.SegmentCommitInfo>);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/util/IOUtils$IOConsumer;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=5
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos mergingSegmentInfos
        start local 2 // java.util.function.BooleanSupplier stopCollectingMergeResults
        start local 3 // org.apache.lucene.index.MergeTrigger trigger
        start local 4 // org.apache.lucene.util.IOUtils$IOConsumer mergeFinished
         0: .line 3497
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3498
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 3 /* trigger */
            getstatic org.apache.lucene.index.MergeTrigger.GET_READER:Lorg/apache/lucene/index/MergeTrigger;
            if_acmpeq 2
            aload 3 /* trigger */
            getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal trigger: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* trigger */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.lucene.index.OneMergeWrappingMergePolicy
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            aload 0 /* this */
            aload 2 /* stopCollectingMergeResults */
            aload 3 /* trigger */
            aload 1 /* mergingSegmentInfos */
            aload 4 /* mergeFinished */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;)Ljava/util/function/UnaryOperator;
              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/IndexWriter.lambda$17(Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;Lorg/apache/lucene/index/MergePolicy$OneMerge;)Lorg/apache/lucene/index/MergePolicy$OneMerge; (7)
                  (Lorg/apache/lucene/index/MergePolicy$OneMerge;)Lorg/apache/lucene/index/MergePolicy$OneMerge;
            invokespecial org.apache.lucene.index.OneMergeWrappingMergePolicy.<init>:(Lorg/apache/lucene/index/MergePolicy;Ljava/util/function/UnaryOperator;)V
         3: .line 3585
            aload 3 /* trigger */
            iconst_m1
         4: .line 3499
            invokevirtual org.apache.lucene.index.IndexWriter.updatePendingMerges:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            astore 5 /* pointInTimeMerges */
        start local 5 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
         5: .line 3586
            aload 5 /* pointInTimeMerges */
            ifnull 22
         6: .line 3587
            iconst_1
            istore 6 /* closeReaders */
        start local 6 // boolean closeReaders
         7: .line 3589
            aload 5 /* pointInTimeMerges */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos java.util.function.BooleanSupplier org.apache.lucene.index.MergeTrigger org.apache.lucene.util.IOUtils$IOConsumer org.apache.lucene.index.MergePolicy$MergeSpecification int top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMerge
            astore 7 /* merge */
        start local 7 // org.apache.lucene.index.MergePolicy$OneMerge merge
         9: .line 3590
            new org.apache.lucene.store.IOContext
            dup
            aload 7 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getStoreMergeInfo:()Lorg/apache/lucene/store/MergeInfo;
            invokespecial org.apache.lucene.store.IOContext.<init>:(Lorg/apache/lucene/store/MergeInfo;)V
            astore 9 /* context */
        start local 9 // org.apache.lucene.store.IOContext context
        10: .line 3591
            aload 7 /* merge */
        11: .line 3592
            aload 0 /* this */
            aload 9 /* context */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/util/IOUtils$IOFunction;
              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/IndexWriter.lambda$19(Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader; (7)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
        12: .line 3591
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.initMergeReaders:(Lorg/apache/lucene/util/IOUtils$IOFunction;)V
        end local 9 // org.apache.lucene.store.IOContext context
        end local 7 // org.apache.lucene.index.MergePolicy$OneMerge merge
        13: .line 3589
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 3600
            iconst_0
            istore 6 /* closeReaders */
        15: .line 3601
            goto 20
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos java.util.function.BooleanSupplier org.apache.lucene.index.MergeTrigger org.apache.lucene.util.IOUtils$IOConsumer org.apache.lucene.index.MergePolicy$MergeSpecification int
      StackMap stack: java.lang.Throwable
        16: astore 10
        17: .line 3602
            iload 6 /* closeReaders */
            ifeq 19
        18: .line 3603
            aload 5 /* pointInTimeMerges */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$18(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V (7)
                  (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
            invokestatic org.apache.lucene.util.IOUtils.applyToAll:(Ljava/util/Collection;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
        19: .line 3614
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos java.util.function.BooleanSupplier org.apache.lucene.index.MergeTrigger org.apache.lucene.util.IOUtils$IOConsumer org.apache.lucene.index.MergePolicy$MergeSpecification int top top top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        20: .line 3602
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos java.util.function.BooleanSupplier org.apache.lucene.index.MergeTrigger org.apache.lucene.util.IOUtils$IOConsumer org.apache.lucene.index.MergePolicy$MergeSpecification int
      StackMap stack:
            iload 6 /* closeReaders */
            ifeq 22
        21: .line 3603
            aload 5 /* pointInTimeMerges */
            getfield org.apache.lucene.index.MergePolicy$MergeSpecification.merges:Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$18(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V (7)
                  (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
            invokestatic org.apache.lucene.util.IOUtils.applyToAll:(Ljava/util/Collection;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
        end local 6 // boolean closeReaders
        22: .line 3616
      StackMap locals:
      StackMap stack:
            aload 5 /* pointInTimeMerges */
            areturn
        end local 5 // org.apache.lucene.index.MergePolicy$MergeSpecification pointInTimeMerges
        end local 4 // org.apache.lucene.util.IOUtils$IOConsumer mergeFinished
        end local 3 // org.apache.lucene.index.MergeTrigger trigger
        end local 2 // java.util.function.BooleanSupplier stopCollectingMergeResults
        end local 1 // org.apache.lucene.index.SegmentInfos mergingSegmentInfos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   23     0                        this  Lorg/apache/lucene/index/IndexWriter;
            0   23     1         mergingSegmentInfos  Lorg/apache/lucene/index/SegmentInfos;
            0   23     2  stopCollectingMergeResults  Ljava/util/function/BooleanSupplier;
            0   23     3                     trigger  Lorg/apache/lucene/index/MergeTrigger;
            0   23     4               mergeFinished  Lorg/apache/lucene/util/IOUtils$IOConsumer<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            5   23     5           pointInTimeMerges  Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            7   22     6                closeReaders  Z
            9   13     7                       merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           10   13     9                     context  Lorg/apache/lucene/store/IOContext;
      Exception table:
        from    to  target  type
           7    16      16  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/index/SegmentInfos;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/util/IOUtils$IOConsumer<Lorg/apache/lucene/index/SegmentCommitInfo;>;)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
    MethodParameters:
                            Name  Flags
      mergingSegmentInfos         
      stopCollectingMergeResults  
      trigger                     
      mergeFinished               

  private void writeReaderPool(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean writeDeletes
         0: .line 3624
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3625
      StackMap locals:
      StackMap stack:
            iload 1 /* writeDeletes */
            ifeq 5
         2: .line 3626
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.ReaderPool.commit:(Lorg/apache/lucene/index/SegmentInfos;)Z
            ifeq 7
         3: .line 3627
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpointNoSIS:()V
         4: .line 3629
            goto 7
         5: .line 3630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.writeAllDocValuesUpdates:()Z
            ifeq 7
         6: .line 3631
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
         7: .line 3635
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* toDrop */
        start local 2 // java.util.List toDrop
         8: .line 3636
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: org.apache.lucene.index.IndexWriter int java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
        10: .line 3637
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 3 /* info */
            iconst_0
            invokevirtual org.apache.lucene.index.ReaderPool.get:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 5 /* readersAndUpdates */
        start local 5 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        11: .line 3638
            aload 5 /* readersAndUpdates */
            ifnull 14
        12: .line 3639
            aload 0 /* this */
            aload 5 /* readersAndUpdates */
            invokevirtual org.apache.lucene.index.IndexWriter.isFullyDeleted:(Lorg/apache/lucene/index/ReadersAndUpdates;)Z
            ifeq 14
        13: .line 3640
            aload 2 /* toDrop */
            aload 3 /* info */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
        14: .line 3636
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 3644
            aload 2 /* toDrop */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
        17: .line 3645
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.dropDeletedSegment:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
        18: .line 3644
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 3647
            aload 2 /* toDrop */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 21
        20: .line 3648
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        21: .line 3650
      StackMap locals: org.apache.lucene.index.IndexWriter int java.util.List
      StackMap stack:
            return
        end local 2 // java.util.List toDrop
        end local 1 // boolean writeDeletes
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/apache/lucene/index/IndexWriter;
            0   22     1       writeDeletes  Z
            8   22     2             toDrop  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
           10   14     3               info  Lorg/apache/lucene/index/SegmentCommitInfo;
           11   14     5  readersAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
           17   18     3               info  Lorg/apache/lucene/index/SegmentCommitInfo;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      writeDeletes  

  public final synchronized void setLiveCommitData(java.lang.Iterable<java.util.Map$Entry<java.lang.String, java.lang.String>>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Iterable commitUserData
         0: .line 3663
            aload 0 /* this */
            aload 1 /* commitUserData */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.setLiveCommitData:(Ljava/lang/Iterable;Z)V
         1: .line 3664
            return
        end local 1 // java.lang.Iterable commitUserData
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  commitUserData  Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
    Signature: (Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;)V
    MethodParameters:
                Name  Flags
      commitUserData  

  public final synchronized void setLiveCommitData(java.lang.Iterable<java.util.Map$Entry<java.lang.String, java.lang.String>>, );
    descriptor: (Ljava/lang/Iterable;Z)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Iterable commitUserData
        start local 2 // boolean doIncrementVersion
         0: .line 3673
            aload 0 /* this */
            aload 1 /* commitUserData */
            putfield org.apache.lucene.index.IndexWriter.commitUserData:Ljava/lang/Iterable;
         1: .line 3674
            iload 2 /* doIncrementVersion */
            ifeq 3
         2: .line 3675
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.changed:()V
         3: .line 3677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         4: .line 3678
            return
        end local 2 // boolean doIncrementVersion
        end local 1 // java.lang.Iterable commitUserData
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1      commitUserData  Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
            0    5     2  doIncrementVersion  Z
    Signature: (Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;Z)V
    MethodParameters:
                    Name  Flags
      commitUserData      
      doIncrementVersion  

  public final synchronized java.lang.Iterable<java.util.Map$Entry<java.lang.String, java.lang.String>> getLiveCommitData();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3684
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitUserData:Ljava/lang/Iterable;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Signature: ()Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;

  public final long commit();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3728
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 3729
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            invokevirtual org.apache.lucene.index.IndexWriter.commitInternal:(Lorg/apache/lucene/index/MergePolicy;)J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  public final boolean hasUncommittedChanges();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3742
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
            lcmp
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.hasChangesInRam:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  boolean hasChangesInRam();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3749
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.anyChanges:()Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.any:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  private long commitInternal(org.apache.lucene.index.MergePolicy);
    descriptor: (Lorg/apache/lucene/index/MergePolicy;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy mergePolicy
         0: .line 3754
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 3755
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: start"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 3760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.commitLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 3761
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         4: .line 3763
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 3764
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: enter lock"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 3767
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy top top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnonnull 11
         7: .line 3768
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 3769
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: now prepare"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 3771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.prepareCommitInternal:()J
            lstore 2 /* seqNo */
        start local 2 // long seqNo
        10: .line 3772
            goto 14
        end local 2 // long seqNo
        11: .line 3773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 3774
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: already prepared"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 3776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingSeqNo:J
            lstore 2 /* seqNo */
        start local 2 // long seqNo
        14: .line 3779
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy long java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.finishCommit:()V
        15: .line 3760
            aload 4
            monitorexit
        16: goto 19
        end local 2 // long seqNo
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy top top java.lang.Object
      StackMap stack: java.lang.Throwable
        17: aload 4
            monitorexit
        18: athrow
        start local 2 // long seqNo
        19: .line 3783
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ifeq 21
        20: .line 3784
            aload 0 /* this */
            aload 1 /* mergePolicy */
            getstatic org.apache.lucene.index.MergeTrigger.FULL_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
        21: .line 3787
      StackMap locals:
      StackMap stack:
            lload 2 /* seqNo */
            lreturn
        end local 2 // long seqNo
        end local 1 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lorg/apache/lucene/index/IndexWriter;
            0   22     1  mergePolicy  Lorg/apache/lucene/index/MergePolicy;
           10   11     2        seqNo  J
           14   17     2        seqNo  J
           19   22     2        seqNo  J
      Exception table:
        from    to  target  type
           3    16      17  any
          17    18      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      mergePolicy  

  private void finishCommit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=9, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3793
            iconst_0
            istore 1 /* commitCompleted */
        start local 1 // boolean commitCompleted
         1: .line 3794
            aconst_null
            astore 2 /* committedSegmentsFileName */
        start local 2 // java.lang.String committedSegmentsFileName
         2: .line 3797
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 3798
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         4: .line 3800
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 6
         5: .line 3801
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot complete commit"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         6: .line 3804
      StackMap locals: int java.lang.String org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 35
         7: .line 3805
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            astore 4 /* commitFiles */
        start local 4 // java.util.Collection commitFiles
         8: .line 3806
            aconst_null
            astore 5
            aconst_null
            astore 6
         9: aload 0 /* this */
            aload 4 /* commitFiles */
            invokedynamic close(Lorg/apache/lucene/index/IndexWriter;Ljava/util/Collection;)Ljava/io/Closeable;
              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:
                  ()V
                  org/apache/lucene/index/IndexWriter.lambda$20(Ljava/util/Collection;)V (7)
                  ()V
            astore 7 /* finalizer */
        start local 7 // java.io.Closeable finalizer
        10: .line 3808
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 3809
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: pendingCommit != null"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 3812
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.String org.apache.lucene.index.IndexWriter java.util.Collection java.lang.Throwable java.lang.Throwable java.io.Closeable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.finishCommit:(Lorg/apache/lucene/store/Directory;)Ljava/lang/String;
            astore 2 /* committedSegmentsFileName */
        13: .line 3815
            iconst_1
            istore 1 /* commitCompleted */
        14: .line 3817
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 3818
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "commit: done writing segments file \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* committedSegmentsFileName */
            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;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 3823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            iconst_1
            invokevirtual org.apache.lucene.index.IndexFileDeleter.checkpoint:(Lorg/apache/lucene/index/SegmentInfos;Z)V
        17: .line 3826
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGeneration:(Lorg/apache/lucene/index/SegmentInfos;)V
        18: .line 3828
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommitChangeCount:J
            putfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
        19: .line 3829
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.createBackupSegmentInfos:()Ljava/util/List;
            putfield org.apache.lucene.index.IndexWriter.rollbackSegments:Ljava/util/List;
        20: .line 3831
            aload 7 /* finalizer */
            ifnull 31
            aload 7 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 5
            aload 7 /* finalizer */
            ifnull 22
            aload 7 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
        end local 7 // java.io.Closeable finalizer
      StackMap locals:
      StackMap stack:
        22: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 6
            aload 5
            ifnonnull 24
            aload 6
            astore 5
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 5
            aload 6
            if_acmpeq 25
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 5
            athrow
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.String org.apache.lucene.index.IndexWriter java.util.Collection
      StackMap stack: java.lang.Throwable
        26: astore 8
        27: .line 3832
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        28: .line 3833
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        29: .line 3834
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        30: .line 3835
            aload 8
            athrow
        31: .line 3832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        32: .line 3833
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        33: .line 3834
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        end local 4 // java.util.Collection commitFiles
        34: .line 3836
            goto 38
        35: .line 3837
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 36
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            ifnull 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 3838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 38
        37: .line 3839
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: pendingCommit == null; skip"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 3797
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        39: goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: aload 3
            monitorexit
        41: athrow
        42: .line 3843
      StackMap locals: org.apache.lucene.index.IndexWriter int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        43: .line 3844
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 45
        44: .line 3845
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "hit exception during finishCommit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        45: .line 3847
      StackMap locals: java.lang.Throwable
      StackMap stack:
            iload 1 /* commitCompleted */
            ifeq 47
        46: .line 3848
            aload 0 /* this */
            aload 3 /* t */
            ldc "finishCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        47: .line 3850
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
        48: .line 3853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 51
        49: .line 3854
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            ldc "commit: took %.1f msec"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.startCommitTime:J
            lsub
            l2d
            ldc 1000000.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        50: .line 3855
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commit: done"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        51: .line 3857
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String committedSegmentsFileName
        end local 1 // boolean commitCompleted
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   52     0                       this  Lorg/apache/lucene/index/IndexWriter;
            1   52     1            commitCompleted  Z
            2   52     2  committedSegmentsFileName  Ljava/lang/String;
            8   34     4                commitFiles  Ljava/util/Collection<Ljava/lang/String;>;
           10   22     7                  finalizer  Ljava/io/Closeable;
           43   48     3                          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    20      21  any
           9    23      23  any
           8    26      26  any
           3    39      40  any
          40    41      40  any
           2    42      42  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  public final void flush();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3866
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.flush:(ZZ)V
         1: .line 3867
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  final void flush(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean triggerMerge
        start local 2 // boolean applyAllDeletes
         0: .line 3886
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 3887
            aload 0 /* this */
            iload 2 /* applyAllDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.doFlush:(Z)Z
            ifeq 3
            iload 1 /* triggerMerge */
            ifeq 3
         2: .line 3888
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.FULL_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
         3: .line 3890
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean applyAllDeletes
        end local 1 // boolean triggerMerge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1     triggerMerge  Z
            0    4     2  applyAllDeletes  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      triggerMerge     
      applyAllDeletes  

  private boolean doFlush(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean applyAllDeletes
         0: .line 3894
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 2
         1: .line 3895
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot flush"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         2: .line 3898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doBeforeFlush:()V
         3: .line 3899
            aload 0 /* this */
            ldc "startDoFlush"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         4: .line 3900
            iconst_0
            istore 2 /* success */
        start local 2 // boolean success
         5: .line 3903
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 3904
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "  start flush: applyAllDeletes="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* applyAllDeletes */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 3905
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "  index before flush "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 3909
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         9: .line 3910
            iconst_0
            istore 5 /* flushSuccess */
        start local 5 // boolean flushSuccess
        10: .line 3912
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.flushAllThreads:()J
            lstore 6 /* seqNo */
        start local 6 // long seqNo
        11: .line 3913
            lload 6 /* seqNo */
            lconst_0
            lcmp
            ifge 15
        12: .line 3914
            lload 6 /* seqNo */
            lneg
            lstore 6 /* seqNo */
        13: .line 3915
            iconst_1
            istore 3 /* anyChanges */
        start local 3 // boolean anyChanges
        14: .line 3916
            goto 16
        end local 3 // boolean anyChanges
        15: .line 3917
      StackMap locals: org.apache.lucene.index.IndexWriter int int top java.lang.Object int long
      StackMap stack:
            iconst_0
            istore 3 /* anyChanges */
        start local 3 // boolean anyChanges
        16: .line 3919
      StackMap locals: org.apache.lucene.index.IndexWriter int int int java.lang.Object int long
      StackMap stack:
            iload 3 /* anyChanges */
            ifne 18
        17: .line 3921
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        18: .line 3923
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.publishFlushedSegments:(Z)V
        19: .line 3924
            iconst_1
            istore 5 /* flushSuccess */
        end local 6 // long seqNo
        20: .line 3925
            goto 26
        end local 3 // boolean anyChanges
      StackMap locals: org.apache.lucene.index.IndexWriter int int top java.lang.Object int
      StackMap stack: java.lang.Throwable
        21: astore 8
        22: .line 3926
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 23
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 3927
      StackMap locals: org.apache.lucene.index.IndexWriter int int top java.lang.Object int top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 5 /* flushSuccess */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        24: .line 3928
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        25: .line 3929
            aload 8
            athrow
        start local 3 // boolean anyChanges
        26: .line 3926
      StackMap locals: org.apache.lucene.index.IndexWriter int int int java.lang.Object int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 27
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 3927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 5 /* flushSuccess */
            invokevirtual org.apache.lucene.index.DocumentsWriter.finishFullFlush:(Z)V
        28: .line 3928
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
        end local 5 // boolean flushSuccess
        29: .line 3909
            aload 4
            monitorexit
        30: goto 33
        end local 3 // boolean anyChanges
      StackMap locals: org.apache.lucene.index.IndexWriter int int top java.lang.Object
      StackMap stack: java.lang.Throwable
        31: aload 4
            monitorexit
        32: athrow
        start local 3 // boolean anyChanges
        33: .line 3932
      StackMap locals: org.apache.lucene.index.IndexWriter int int int
      StackMap stack:
            iload 1 /* applyAllDeletes */
            ifeq 35
        34: .line 3933
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.applyAllDeletesAndUpdates:()V
        35: .line 3936
      StackMap locals:
      StackMap stack:
            iload 3 /* anyChanges */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ior
            istore 3 /* anyChanges */
        36: .line 3938
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        37: .line 3939
            aload 0 /* this */
            iload 1 /* applyAllDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.writeReaderPool:(Z)V
        38: .line 3940
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.doAfterFlush:()V
        39: .line 3941
            iconst_1
            istore 2 /* success */
        40: .line 3942
            iload 3 /* anyChanges */
            istore 10
            aload 4
            monitorexit
        41: .line 3948
            iload 2 /* success */
            ifne 45
        42: .line 3949
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 44
        43: .line 3950
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during flush"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        44: .line 3952
      StackMap locals: org.apache.lucene.index.IndexWriter int int int org.apache.lucene.index.IndexWriter top top top top top int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        45: .line 3942
      StackMap locals:
      StackMap stack:
            iload 10
            ireturn
        46: .line 3938
      StackMap locals: org.apache.lucene.index.IndexWriter int int int org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        47: athrow
        end local 3 // boolean anyChanges
        48: .line 3944
      StackMap locals: org.apache.lucene.index.IndexWriter int int
      StackMap stack: java.lang.VirtualMachineError
            astore 3 /* tragedy */
        start local 3 // java.lang.VirtualMachineError tragedy
        49: .line 3945
            aload 0 /* this */
            aload 3 /* tragedy */
            ldc "doFlush"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        50: .line 3946
            aload 3 /* tragedy */
            athrow
        end local 3 // java.lang.VirtualMachineError tragedy
        51: .line 3947
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        52: .line 3948
            iload 2 /* success */
            ifne 56
        53: .line 3949
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 55
        54: .line 3950
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during flush"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        55: .line 3952
      StackMap locals: org.apache.lucene.index.IndexWriter int int top top top top top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
        56: .line 3954
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        end local 2 // boolean success
        end local 1 // boolean applyAllDeletes
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   57     0             this  Lorg/apache/lucene/index/IndexWriter;
            0   57     1  applyAllDeletes  Z
            5   57     2          success  Z
           14   15     3       anyChanges  Z
           16   21     3       anyChanges  Z
           26   31     3       anyChanges  Z
           33   48     3       anyChanges  Z
           10   29     5     flushSuccess  Z
           11   20     6            seqNo  J
           49   51     3          tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
          10    21      21  any
           9    30      31  any
          31    32      31  any
          37    41      46  any
          46    47      46  any
           5    41      48  Class java.lang.VirtualMachineError
          46    48      48  Class java.lang.VirtualMachineError
           5    41      51  any
          46    51      51  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      applyAllDeletes  

  private void applyAllDeletesAndUpdates();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3958
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3959
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.flushDeletesCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         2: .line 3960
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 3961
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now apply all deletes for all segments buffered updates bytesUsed="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.ramBytesUsed:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " reader pool bytesUsed="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.ramBytesUsed:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 3963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.waitApplyAll:(Lorg/apache/lucene/index/IndexWriter;)V
         5: .line 3964
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  org.apache.lucene.index.DocumentsWriter getDocsWriter();
    descriptor: ()Lorg/apache/lucene/index/DocumentsWriter;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3968
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public final synchronized int numRamDocs();
    descriptor: ()I
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3974
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 3975
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNumDocs:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  private synchronized void ensureValidMerge(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 3979
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 2 /* info */
        start local 2 // org.apache.lucene.index.SegmentCommitInfo info
         2: .line 3980
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 2 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfos.contains:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifne 4
         3: .line 3981
            new org.apache.lucene.index.MergePolicy$MergeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "MergePolicy selected a segment ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") that is not in the current index "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.lucene.index.MergePolicy$MergeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.apache.lucene.index.SegmentCommitInfo info
         4: .line 3979
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 3984
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            2    4     2   info  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
       Name  Flags
      merge  

  private synchronized org.apache.lucene.index.ReadersAndUpdates commitMergedDeletesAndUpdates(org.apache.lucene.index.MergePolicy$OneMerge, org.apache.lucene.index.MergeState);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeState;)Lorg/apache/lucene/index/ReadersAndUpdates;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=27, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        start local 2 // org.apache.lucene.index.MergeState mergeState
         0: .line 3998
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeFinishedGen:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 4000
            aload 0 /* this */
            ldc "startCommitMergeDeletes"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         2: .line 4002
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            astore 3 /* sourceSegments */
        start local 3 // java.util.List sourceSegments
         3: .line 4004
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 4005
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "commitMergeDeletes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 4010
      StackMap locals: java.util.List
      StackMap stack:
            ldc 9223372036854775807
            lstore 4 /* minGen */
        start local 4 // long minGen
         6: .line 4013
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 6 /* mergedDeletesAndUpdates */
        start local 6 // org.apache.lucene.index.ReadersAndUpdates mergedDeletesAndUpdates
         7: .line 4014
            aload 6 /* mergedDeletesAndUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getDelCount:()I
            istore 7 /* numDeletesBefore */
        start local 7 // int numDeletesBefore
         8: .line 4016
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* mappedDVUpdates */
        start local 8 // java.util.Map mappedDVUpdates
         9: .line 4018
            iconst_0
            istore 9 /* anyDVUpdates */
        start local 9 // boolean anyDVUpdates
        10: .line 4020
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 11
            aload 3 /* sourceSegments */
            invokeinterface java.util.List.size:()I
            aload 2 /* mergeState */
            getfield org.apache.lucene.index.MergeState.docMaps:[Lorg/apache/lucene/index/MergeState$DocMap;
            arraylength
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 4021
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        12: goto 59
        13: .line 4022
      StackMap locals: int
      StackMap stack:
            aload 3 /* sourceSegments */
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 11 /* info */
        start local 11 // org.apache.lucene.index.SegmentCommitInfo info
        14: .line 4023
            aload 11 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getBufferedDeletesGen:()J
            lload 4 /* minGen */
            invokestatic java.lang.Math.min:(JJ)J
            lstore 4 /* minGen */
        15: .line 4024
            aload 11 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            istore 12 /* maxDoc */
        start local 12 // int maxDoc
        16: .line 4025
            aload 0 /* this */
            aload 11 /* info */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 13 /* rld */
        start local 13 // org.apache.lucene.index.ReadersAndUpdates rld
        17: .line 4027
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 18
            aload 13 /* rld */
            ifnonnull 18
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "seg="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 4029
      StackMap locals: org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            aload 2 /* mergeState */
            getfield org.apache.lucene.index.MergeState.docMaps:[Lorg/apache/lucene/index/MergeState$DocMap;
            iload 10 /* i */
            aaload
            astore 14 /* segDocMap */
        start local 14 // org.apache.lucene.index.MergeState$DocMap segDocMap
        19: .line 4030
            aload 2 /* mergeState */
            getfield org.apache.lucene.index.MergeState.leafDocMaps:[Lorg/apache/lucene/index/MergeState$DocMap;
            iload 10 /* i */
            aaload
            astore 15 /* segLeafDocMap */
        start local 15 // org.apache.lucene.index.MergeState$DocMap segLeafDocMap
        20: .line 4032
            aload 6 /* mergedDeletesAndUpdates */
            iload 12 /* maxDoc */
            aload 2 /* mergeState */
            getfield org.apache.lucene.index.MergeState.liveDocs:[Lorg/apache/lucene/util/Bits;
            iload 10 /* i */
            aaload
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeReader:()Ljava/util/List;
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$MergeReader
            getfield org.apache.lucene.index.MergePolicy$MergeReader.hardLiveDocs:Lorg/apache/lucene/util/Bits;
            aload 13 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getHardLiveDocs:()Lorg/apache/lucene/util/Bits;
        21: .line 4033
            aload 14 /* segDocMap */
            aload 15 /* segLeafDocMap */
        22: .line 4032
            invokestatic org.apache.lucene.index.IndexWriter.carryOverHardDeletes:(Lorg/apache/lucene/index/ReadersAndUpdates;ILorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/index/MergeState$DocMap;Lorg/apache/lucene/index/MergeState$DocMap;)V
        23: .line 4038
            aload 13 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getMergingDVUpdates:()Ljava/util/Map;
            astore 16 /* mergingDVUpdates */
        start local 16 // java.util.Map mergingDVUpdates
        24: .line 4039
            aload 16 /* mergingDVUpdates */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18
            goto 57
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map top java.util.Iterator
      StackMap stack:
        25: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 17 /* ent */
        start local 17 // java.util.Map$Entry ent
        26: .line 4041
            aload 17 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 19 /* field */
        start local 19 // java.lang.String field
        27: .line 4043
            aload 8 /* mappedDVUpdates */
            aload 19 /* field */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 20 /* mappedField */
        start local 20 // java.util.Map mappedField
        28: .line 4044
            aload 20 /* mappedField */
            ifnonnull 31
        29: .line 4045
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 20 /* mappedField */
        30: .line 4046
            aload 8 /* mappedDVUpdates */
            aload 19 /* field */
            aload 20 /* mappedField */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 4049
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Map
      StackMap stack:
            aload 17 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 56
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
        32: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.DocValuesFieldUpdates
            astore 21 /* updates */
        start local 21 // org.apache.lucene.index.DocValuesFieldUpdates updates
        33: .line 4051
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.delGen:J
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.stillRunning:(J)Z
            ifeq 35
        34: .line 4052
            goto 56
        35: .line 4056
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Map org.apache.lucene.index.DocValuesFieldUpdates java.util.Iterator
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 36
            aload 19 /* field */
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.field:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 4058
      StackMap locals:
      StackMap stack:
            aload 20 /* mappedField */
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.delGen:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.DocValuesFieldUpdates
            astore 23 /* mappedUpdates */
        start local 23 // org.apache.lucene.index.DocValuesFieldUpdates mappedUpdates
        37: .line 4059
            aload 23 /* mappedUpdates */
            ifnonnull 45
        38: .line 4060
            invokestatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:()[I
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.type:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 39
                    3: 41
              default: 43
          }
        39: .line 4062
      StackMap locals: org.apache.lucene.index.DocValuesFieldUpdates
      StackMap stack:
            new org.apache.lucene.index.NumericDocValuesFieldUpdates
            dup
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.delGen:J
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.field:Ljava/lang/String;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            invokespecial org.apache.lucene.index.NumericDocValuesFieldUpdates.<init>:(JLjava/lang/String;I)V
            astore 23 /* mappedUpdates */
        40: .line 4063
            goto 44
        41: .line 4065
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.BinaryDocValuesFieldUpdates
            dup
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.delGen:J
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.field:Ljava/lang/String;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            invokespecial org.apache.lucene.index.BinaryDocValuesFieldUpdates.<init>:(JLjava/lang/String;I)V
            astore 23 /* mappedUpdates */
        42: .line 4066
            goto 44
        43: .line 4068
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 4070
      StackMap locals:
      StackMap stack:
            aload 20 /* mappedField */
            aload 21 /* updates */
            getfield org.apache.lucene.index.DocValuesFieldUpdates.delGen:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 23 /* mappedUpdates */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 4073
      StackMap locals:
      StackMap stack:
            aload 21 /* updates */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.iterator:()Lorg/apache/lucene/index/DocValuesFieldUpdates$Iterator;
            astore 24 /* it */
        start local 24 // org.apache.lucene.index.DocValuesFieldUpdates$Iterator it
        46: .line 4075
            goto 54
        start local 25 // int doc
        47: .line 4076
      StackMap locals: org.apache.lucene.index.DocValuesFieldUpdates$Iterator int
      StackMap stack:
            aload 14 /* segDocMap */
            aload 15 /* segLeafDocMap */
            iload 25 /* doc */
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            istore 26 /* mappedDoc */
        start local 26 // int mappedDoc
        48: .line 4077
            iload 26 /* mappedDoc */
            iconst_m1
            if_icmpeq 54
        49: .line 4078
            aload 24 /* it */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates$Iterator.hasValue:()Z
            ifeq 52
        50: .line 4080
            aload 23 /* mappedUpdates */
            iload 26 /* mappedDoc */
            aload 24 /* it */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.add:(ILorg/apache/lucene/index/DocValuesFieldUpdates$Iterator;)V
        51: .line 4081
            goto 53
        52: .line 4082
      StackMap locals: int
      StackMap stack:
            aload 23 /* mappedUpdates */
            iload 26 /* mappedDoc */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.reset:(I)V
        53: .line 4084
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* anyDVUpdates */
        end local 26 // int mappedDoc
        end local 25 // int doc
        54: .line 4075
      StackMap locals:
      StackMap stack:
            aload 24 /* it */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates$Iterator.nextDoc:()I
            dup
            istore 25 /* doc */
        start local 25 // int doc
        55: ldc 2147483647
            if_icmpne 47
        end local 25 // int doc
        end local 24 // org.apache.lucene.index.DocValuesFieldUpdates$Iterator it
        end local 23 // org.apache.lucene.index.DocValuesFieldUpdates mappedUpdates
        end local 21 // org.apache.lucene.index.DocValuesFieldUpdates updates
        56: .line 4049
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        end local 20 // java.util.Map mappedField
        end local 19 // java.lang.String field
        end local 17 // java.util.Map$Entry ent
        57: .line 4039
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int org.apache.lucene.index.SegmentCommitInfo int org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.MergeState$DocMap org.apache.lucene.index.MergeState$DocMap java.util.Map top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 16 // java.util.Map mergingDVUpdates
        end local 15 // org.apache.lucene.index.MergeState$DocMap segLeafDocMap
        end local 14 // org.apache.lucene.index.MergeState$DocMap segDocMap
        end local 13 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 12 // int maxDoc
        end local 11 // org.apache.lucene.index.SegmentCommitInfo info
        58: .line 4021
            iinc 10 /* i */ 1
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int int
      StackMap stack:
        59: iload 10 /* i */
            aload 3 /* sourceSegments */
            invokeinterface java.util.List.size:()I
            if_icmplt 13
        end local 10 // int i
        60: .line 4091
            iload 9 /* anyDVUpdates */
            ifeq 69
        61: .line 4093
            aload 8 /* mappedDVUpdates */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 68
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int top java.util.Iterator
      StackMap stack:
        62: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 10 /* d */
        start local 10 // java.util.Map d
        63: .line 4094
            aload 10 /* d */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 13
            goto 67
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int java.util.Map java.util.Iterator top java.util.Iterator
      StackMap stack:
        64: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.DocValuesFieldUpdates
            astore 12 /* updates */
        start local 12 // org.apache.lucene.index.DocValuesFieldUpdates updates
        65: .line 4095
            aload 12 /* updates */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.finish:()V
        66: .line 4096
            aload 6 /* mergedDeletesAndUpdates */
            aload 12 /* updates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.addDVUpdate:(Lorg/apache/lucene/index/DocValuesFieldUpdates;)V
        end local 12 // org.apache.lucene.index.DocValuesFieldUpdates updates
        67: .line 4094
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
        end local 10 // java.util.Map d
        68: .line 4093
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        69: .line 4101
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState java.util.List long org.apache.lucene.index.ReadersAndUpdates int java.util.Map int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 79
        70: .line 4102
            aload 6 /* mergedDeletesAndUpdates */
            ifnonnull 73
        71: .line 4103
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "no new deletes or field updates since merge started"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        72: .line 4104
            goto 79
        73: .line 4105
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* mergedDeletesAndUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getDelCount:()I
            iload 7 /* numDeletesBefore */
            isub
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " new deletes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        74: .line 4106
            iload 9 /* anyDVUpdates */
            ifeq 77
        75: .line 4107
            new java.lang.StringBuilder
            dup
            aload 10 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* mergedDeletesAndUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getNumDVUpdates:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " new field updates"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        76: .line 4108
            new java.lang.StringBuilder
            dup
            aload 10 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* mergedDeletesAndUpdates */
            getfield org.apache.lucene.index.ReadersAndUpdates.ramBytesUsed:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ") bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        77: .line 4110
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " since merge started"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        78: .line 4111
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            aload 10 /* msg */
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // java.lang.String msg
        79: .line 4115
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            lload 4 /* minGen */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.setBufferedDeletesGen:(J)V
        80: .line 4117
            aload 6 /* mergedDeletesAndUpdates */
            areturn
        end local 9 // boolean anyDVUpdates
        end local 8 // java.util.Map mappedDVUpdates
        end local 7 // int numDeletesBefore
        end local 6 // org.apache.lucene.index.ReadersAndUpdates mergedDeletesAndUpdates
        end local 4 // long minGen
        end local 3 // java.util.List sourceSegments
        end local 2 // org.apache.lucene.index.MergeState mergeState
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   81     0                     this  Lorg/apache/lucene/index/IndexWriter;
            0   81     1                    merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            0   81     2               mergeState  Lorg/apache/lucene/index/MergeState;
            3   81     3           sourceSegments  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            6   81     4                   minGen  J
            7   81     6  mergedDeletesAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
            8   81     7         numDeletesBefore  I
            9   81     8          mappedDVUpdates  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/Long;Lorg/apache/lucene/index/DocValuesFieldUpdates;>;>;
           10   81     9             anyDVUpdates  Z
           12   60    10                        i  I
           14   58    11                     info  Lorg/apache/lucene/index/SegmentCommitInfo;
           16   58    12                   maxDoc  I
           17   58    13                      rld  Lorg/apache/lucene/index/ReadersAndUpdates;
           19   58    14                segDocMap  Lorg/apache/lucene/index/MergeState$DocMap;
           20   58    15            segLeafDocMap  Lorg/apache/lucene/index/MergeState$DocMap;
           24   58    16         mergingDVUpdates  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/apache/lucene/index/DocValuesFieldUpdates;>;>;
           26   57    17                      ent  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lorg/apache/lucene/index/DocValuesFieldUpdates;>;>;
           27   57    19                    field  Ljava/lang/String;
           28   57    20              mappedField  Ljava/util/Map<Ljava/lang/Long;Lorg/apache/lucene/index/DocValuesFieldUpdates;>;
           33   56    21                  updates  Lorg/apache/lucene/index/DocValuesFieldUpdates;
           37   56    23            mappedUpdates  Lorg/apache/lucene/index/DocValuesFieldUpdates;
           46   56    24                       it  Lorg/apache/lucene/index/DocValuesFieldUpdates$Iterator;
           47   54    25                      doc  I
           55   56    25                      doc  I
           48   54    26                mappedDoc  I
           63   68    10                        d  Ljava/util/Map<Ljava/lang/Long;Lorg/apache/lucene/index/DocValuesFieldUpdates;>;
           65   67    12                  updates  Lorg/apache/lucene/index/DocValuesFieldUpdates;
           74   79    10                      msg  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      merge       
      mergeState  

  private static void carryOverHardDeletes(org.apache.lucene.index.ReadersAndUpdates, int, org.apache.lucene.util.Bits, org.apache.lucene.util.Bits, org.apache.lucene.util.Bits, org.apache.lucene.index.MergeState$DocMap, org.apache.lucene.index.MergeState$DocMap);
    descriptor: (Lorg/apache/lucene/index/ReadersAndUpdates;ILorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/index/MergeState$DocMap;Lorg/apache/lucene/index/MergeState$DocMap;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // org.apache.lucene.index.ReadersAndUpdates mergedReadersAndUpdates
        start local 1 // int maxDoc
        start local 2 // org.apache.lucene.util.Bits mergeLiveDocs
        start local 3 // org.apache.lucene.util.Bits prevHardLiveDocs
        start local 4 // org.apache.lucene.util.Bits currentHardLiveDocs
        start local 5 // org.apache.lucene.index.MergeState$DocMap segDocMap
        start local 6 // org.apache.lucene.index.MergeState$DocMap segLeafDocMap
         0: .line 4129
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 2 /* mergeLiveDocs */
            ifnull 1
            aload 2 /* mergeLiveDocs */
            invokeinterface org.apache.lucene.util.Bits.length:()I
            iload 1 /* maxDoc */
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4134
      StackMap locals:
      StackMap stack:
            aload 2 /* mergeLiveDocs */
            ifnull 2
            aload 2 /* mergeLiveDocs */
            aload 3 /* prevHardLiveDocs */
            if_acmpne 3
         2: .line 4135
      StackMap locals:
      StackMap stack:
            aload 4 /* currentHardLiveDocs */
            invokedynamic test(Lorg/apache/lucene/util/Bits;)Ljava/util/function/IntPredicate;
              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:
                  (I)Z
                  org/apache/lucene/index/IndexWriter.lambda$21(Lorg/apache/lucene/util/Bits;I)Z (6)
                  (I)Z
            goto 4
         3: .line 4136
      StackMap locals:
      StackMap stack:
            aload 2 /* mergeLiveDocs */
            aload 4 /* currentHardLiveDocs */
            invokedynamic test(Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;)Ljava/util/function/IntPredicate;
              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:
                  (I)Z
                  org/apache/lucene/index/IndexWriter.lambda$22(Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;I)Z (6)
                  (I)Z
         4: .line 4134
      StackMap locals:
      StackMap stack: java.util.function.IntPredicate
            astore 7 /* carryOverDelete */
        start local 7 // java.util.function.IntPredicate carryOverDelete
         5: .line 4137
            aload 3 /* prevHardLiveDocs */
            ifnull 20
         6: .line 4140
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 7
            aload 4 /* currentHardLiveDocs */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 4141
      StackMap locals: java.util.function.IntPredicate
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 8
            aload 2 /* mergeLiveDocs */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 4142
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            aload 3 /* prevHardLiveDocs */
            invokeinterface org.apache.lucene.util.Bits.length:()I
            iload 1 /* maxDoc */
            if_icmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 4143
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 10
            aload 4 /* currentHardLiveDocs */
            invokeinterface org.apache.lucene.util.Bits.length:()I
            iload 1 /* maxDoc */
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 4157
      StackMap locals:
      StackMap stack:
            aload 4 /* currentHardLiveDocs */
            aload 3 /* prevHardLiveDocs */
            if_acmpeq 28
        11: .line 4161
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        12: goto 18
        13: .line 4162
      StackMap locals: int
      StackMap stack:
            aload 3 /* prevHardLiveDocs */
            iload 8 /* j */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifne 15
        14: .line 4164
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 17
            aload 4 /* currentHardLiveDocs */
            iload 8 /* j */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 4165
      StackMap locals:
      StackMap stack:
            aload 7 /* carryOverDelete */
            iload 8 /* j */
            invokeinterface java.util.function.IntPredicate.test:(I)Z
            ifeq 17
        16: .line 4167
            aload 0 /* mergedReadersAndUpdates */
            aload 5 /* segDocMap */
            aload 6 /* segLeafDocMap */
            iload 8 /* j */
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.delete:(I)Z
            pop
        17: .line 4161
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* j */
            iload 1 /* maxDoc */
            if_icmplt 13
        end local 8 // int j
        19: .line 4171
            goto 28
      StackMap locals:
      StackMap stack:
        20: aload 4 /* currentHardLiveDocs */
            ifnull 28
        21: .line 4172
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 22
            aload 4 /* currentHardLiveDocs */
            invokeinterface org.apache.lucene.util.Bits.length:()I
            iload 1 /* maxDoc */
            if_icmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 4175
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        23: goto 27
        24: .line 4176
      StackMap locals: int
      StackMap stack:
            aload 7 /* carryOverDelete */
            iload 8 /* j */
            invokeinterface java.util.function.IntPredicate.test:(I)Z
            ifeq 26
        25: .line 4177
            aload 0 /* mergedReadersAndUpdates */
            aload 5 /* segDocMap */
            aload 6 /* segLeafDocMap */
            iload 8 /* j */
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            invokevirtual org.apache.lucene.index.MergeState$DocMap.get:(I)I
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.delete:(I)Z
            pop
        26: .line 4175
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* j */
            iload 1 /* maxDoc */
            if_icmplt 24
        end local 8 // int j
        28: .line 4181
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.util.function.IntPredicate carryOverDelete
        end local 6 // org.apache.lucene.index.MergeState$DocMap segLeafDocMap
        end local 5 // org.apache.lucene.index.MergeState$DocMap segDocMap
        end local 4 // org.apache.lucene.util.Bits currentHardLiveDocs
        end local 3 // org.apache.lucene.util.Bits prevHardLiveDocs
        end local 2 // org.apache.lucene.util.Bits mergeLiveDocs
        end local 1 // int maxDoc
        end local 0 // org.apache.lucene.index.ReadersAndUpdates mergedReadersAndUpdates
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   29     0  mergedReadersAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
            0   29     1                   maxDoc  I
            0   29     2            mergeLiveDocs  Lorg/apache/lucene/util/Bits;
            0   29     3         prevHardLiveDocs  Lorg/apache/lucene/util/Bits;
            0   29     4      currentHardLiveDocs  Lorg/apache/lucene/util/Bits;
            0   29     5                segDocMap  Lorg/apache/lucene/index/MergeState$DocMap;
            0   29     6            segLeafDocMap  Lorg/apache/lucene/index/MergeState$DocMap;
            5   29     7          carryOverDelete  Ljava/util/function/IntPredicate;
           12   19     8                        j  I
           23   28     8                        j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                         Name  Flags
      mergedReadersAndUpdates  
      maxDoc                   
      mergeLiveDocs            
      prevHardLiveDocs         
      currentHardLiveDocs      
      segDocMap                
      segLeafDocMap            

  private synchronized boolean commitMerge(org.apache.lucene.index.MergePolicy$OneMerge, org.apache.lucene.index.MergeState);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeState;)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        start local 2 // org.apache.lucene.index.MergeState mergeState
         0: .line 4185
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.onMergeComplete:()V
         1: .line 4186
            aload 0 /* this */
            ldc "startCommitMerge"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         2: .line 4188
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 4
         3: .line 4189
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot complete merge"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         4: .line 4192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 4193
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "commitMerge: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " index="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 4196
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 7
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 4204
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifeq 13
         8: .line 4205
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 4206
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "commitMerge: skip: it was aborted"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 4217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            pop
        11: .line 4219
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        12: .line 4220
            iconst_0
            ireturn
        13: .line 4223
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifne 14
            aconst_null
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            aload 1 /* merge */
            aload 2 /* mergeState */
            invokevirtual org.apache.lucene.index.IndexWriter.commitMergedDeletesAndUpdates:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeState;)Lorg/apache/lucene/index/ReadersAndUpdates;
      StackMap locals:
      StackMap stack: org.apache.lucene.index.ReadersAndUpdates
        15: astore 3 /* mergedUpdates */
        start local 3 // org.apache.lucene.index.ReadersAndUpdates mergedUpdates
        16: .line 4230
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 17
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentInfos.contains:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 4232
      StackMap locals: org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifeq 21
        18: .line 4233
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifeq 21
        19: .line 4234
            aload 3 /* mergedUpdates */
            ifnull 20
            aload 0 /* this */
            aload 3 /* mergedUpdates */
            invokevirtual org.apache.lucene.index.IndexWriter.isFullyDeleted:(Lorg/apache/lucene/index/ReadersAndUpdates;)Z
            ifne 21
        20: .line 4232
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 4 /* allDeleted */
        start local 4 // boolean allDeleted
        23: .line 4236
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 26
        24: .line 4237
            iload 4 /* allDeleted */
            ifeq 26
        25: .line 4238
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "merged segment "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is 100% deleted; skipping insert"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 4242
      StackMap locals: int
      StackMap stack:
            iload 4 /* allDeleted */
            istore 5 /* dropSegment */
        start local 5 // boolean dropSegment
        27: .line 4246
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 28
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifgt 28
            iload 5 /* dropSegment */
            ifne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 4248
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 29
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifne 29
            iload 5 /* dropSegment */
            ifne 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 4250
      StackMap locals:
      StackMap stack:
            aload 3 /* mergedUpdates */
            ifnull 44
        30: .line 4251
            iconst_0
            istore 6 /* success */
        start local 6 // boolean success
        31: .line 4253
            iload 5 /* dropSegment */
            ifeq 33
        32: .line 4254
            aload 3 /* mergedUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.dropChanges:()V
        33: .line 4259
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* mergedUpdates */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;Z)V
        34: .line 4260
            iconst_1
            istore 6 /* success */
        35: .line 4261
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 7
        37: .line 4262
            iload 6 /* success */
            ifne 40
        38: .line 4263
            aload 3 /* mergedUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.dropChanges:()V
        39: .line 4264
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            pop
        40: .line 4266
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        41: .line 4262
      StackMap locals:
      StackMap stack:
            iload 6 /* success */
            ifne 44
        42: .line 4263
            aload 3 /* mergedUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.dropChanges:()V
        43: .line 4264
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            pop
        end local 6 // boolean success
        44: .line 4273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* merge */
            iload 5 /* dropSegment */
            invokevirtual org.apache.lucene.index.SegmentInfos.applyMergeChanges:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Z)V
        45: .line 4278
            iload 5 /* dropSegment */
            ifeq 48
        46: .line 4281
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.totalMaxDoc:I
            istore 6 /* delDocCount */
        start local 6 // int delDocCount
        47: .line 4282
            goto 49
        end local 6 // int delDocCount
        48: .line 4283
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.totalMaxDoc:I
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            isub
            istore 6 /* delDocCount */
        start local 6 // int delDocCount
        49: .line 4285
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 50
            iload 6 /* delDocCount */
            ifge 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 4286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* delDocCount */
            ineg
            i2l
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
        51: .line 4288
            iload 5 /* dropSegment */
            ifeq 55
        52: .line 4289
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 53
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentInfos.contains:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifeq 53
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 4290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            pop
        54: .line 4292
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
        55: .line 4295
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
        56: aload 0 /* this */
            invokedynamic close(Lorg/apache/lucene/index/IndexWriter;)Ljava/io/Closeable;
              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:
                  ()V
                  org/apache/lucene/index/IndexWriter.checkpoint()V (7)
                  ()V
            astore 9 /* finalizer */
        start local 9 // java.io.Closeable finalizer
        57: .line 4299
            aload 0 /* this */
            aload 1 /* merge */
            iconst_0
            iload 5 /* dropSegment */
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
        58: .line 4300
            aload 9 /* finalizer */
            ifnull 64
            aload 9 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
            goto 64
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergeState org.apache.lucene.index.ReadersAndUpdates int int int java.lang.Throwable java.lang.Throwable java.io.Closeable
      StackMap stack: java.lang.Throwable
        59: astore 7
            aload 9 /* finalizer */
            ifnull 60
            aload 9 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
        end local 9 // java.io.Closeable finalizer
      StackMap locals:
      StackMap stack:
        60: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        61: astore 8
            aload 7
            ifnonnull 62
            aload 8
            astore 7
            goto 63
      StackMap locals:
      StackMap stack:
        62: aload 7
            aload 8
            if_acmpeq 63
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        63: aload 7
            athrow
        64: .line 4302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 66
        65: .line 4303
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "after commitMerge: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        66: .line 4306
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpeq 69
            iload 5 /* dropSegment */
            ifne 69
        67: .line 4308
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 69
        68: .line 4309
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        69: .line 4313
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // int delDocCount
        end local 5 // boolean dropSegment
        end local 4 // boolean allDeleted
        end local 3 // org.apache.lucene.index.ReadersAndUpdates mergedUpdates
        end local 2 // org.apache.lucene.index.MergeState mergeState
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   70     0           this  Lorg/apache/lucene/index/IndexWriter;
            0   70     1          merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            0   70     2     mergeState  Lorg/apache/lucene/index/MergeState;
           16   70     3  mergedUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
           23   70     4     allDeleted  Z
           27   70     5    dropSegment  Z
           31   44     6        success  Z
           47   48     6    delDocCount  I
           49   70     6    delDocCount  I
           57   60     9      finalizer  Ljava/io/Closeable;
      Exception table:
        from    to  target  type
          31    36      36  any
          57    58      59  any
          56    61      61  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      merge       
      mergeState  

  private void handleMergeException(java.lang.Throwable, org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Ljava/lang/Throwable;Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Throwable t
        start local 2 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4318
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 4319
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "handleMergeException: merge="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 2 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " exc="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 4325
      StackMap locals:
      StackMap stack:
            aload 2 /* merge */
            aload 1 /* t */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.setException:(Ljava/lang/Throwable;)V
         3: .line 4326
            aload 0 /* this */
            aload 2 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.addMergeException:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         4: .line 4328
            aload 1 /* t */
            instanceof org.apache.lucene.index.MergePolicy$MergeAbortedException
            ifeq 7
         5: .line 4335
            aload 2 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.isExternal:Z
            ifeq 9
         6: .line 4336
            aload 1 /* t */
            checkcast org.apache.lucene.index.MergePolicy$MergeAbortedException
            athrow
         7: .line 4339
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 8
            aload 1 /* t */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 4340
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokestatic org.apache.lucene.util.IOUtils.rethrowAlways:(Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
         9: .line 4342
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 1 // java.lang.Throwable t
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/lucene/index/IndexWriter;
            0   10     1      t  Ljava/lang/Throwable;
            0   10     2  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      t      
      merge  

  protected void merge(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4352
            iconst_0
            istore 2 /* success */
        start local 2 // boolean success
         1: .line 4354
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* t0 */
        start local 3 // long t0
         2: .line 4356
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            astore 5 /* mergePolicy */
        start local 5 // org.apache.lucene.index.MergePolicy mergePolicy
         3: .line 4360
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeInit:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         4: .line 4361
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 4362
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now merge\n  merge="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n  index="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 4364
      StackMap locals: int long org.apache.lucene.index.MergePolicy
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            aload 5 /* mergePolicy */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeMiddle:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergePolicy;)I
            pop
         7: .line 4365
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeSuccess:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         8: .line 4366
            iconst_1
            istore 2 /* success */
         9: .line 4367
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        11: .line 4368
            aload 0 /* this */
            aload 6 /* t */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.handleMergeException:(Ljava/lang/Throwable;Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        end local 6 // java.lang.Throwable t
        12: .line 4370
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 7
        14: .line 4371
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        15: .line 4374
            iload 2 /* success */
            ifne 17
        16: .line 4375
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
        17: .line 4377
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int long org.apache.lucene.index.MergePolicy top java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        18: .line 4379
            iload 2 /* success */
            ifne 22
        19: .line 4380
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 24
        20: .line 4381
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 4383
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifne 24
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpne 23
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 24
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closing:Z
            ifne 24
        23: .line 4387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* mergePolicy */
            getstatic org.apache.lucene.index.MergeTrigger.MERGE_FINISHED:Lorg/apache/lucene/index/MergeTrigger;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            invokevirtual org.apache.lucene.index.IndexWriter.updatePendingMerges:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            pop
        24: .line 4371
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 8
            monitorexit
        27: athrow
        28: .line 4390
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        29: .line 4371
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int long org.apache.lucene.index.MergePolicy
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        30: .line 4374
            iload 2 /* success */
            ifne 32
        31: .line 4375
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
        32: .line 4377
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int long org.apache.lucene.index.MergePolicy top top org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        33: .line 4379
            iload 2 /* success */
            ifne 37
        34: .line 4380
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 39
        35: .line 4381
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        36: .line 4383
            goto 39
      StackMap locals:
      StackMap stack:
        37: aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifne 39
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpne 38
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 39
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closing:Z
            ifne 39
        38: .line 4387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* mergePolicy */
            getstatic org.apache.lucene.index.MergeTrigger.MERGE_FINISHED:Lorg/apache/lucene/index/MergeTrigger;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            invokevirtual org.apache.lucene.index.IndexWriter.updatePendingMerges:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)Lorg/apache/lucene/index/MergePolicy$MergeSpecification;
            pop
        39: .line 4371
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        40: goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: aload 8
            monitorexit
        42: athrow
        43: .line 4391
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int long org.apache.lucene.index.MergePolicy
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        44: .line 4394
            aload 0 /* this */
            aload 6 /* t */
            ldc "merge"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        45: .line 4395
            aload 6 /* t */
            athrow
        end local 6 // java.lang.Throwable t
        46: .line 4398
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 49
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifne 49
        47: .line 4399
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 49
        48: .line 4400
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "merge time "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* t0 */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " msec for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            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;
            ldc " docs"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        49: .line 4403
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 3 // long t0
        end local 2 // boolean success
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   50     0         this  Lorg/apache/lucene/index/IndexWriter;
            0   50     1        merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            1   50     2      success  Z
            2   50     3           t0  J
            3   50     5  mergePolicy  Lorg/apache/lucene/index/MergePolicy;
           11   12     6            t  Ljava/lang/Throwable;
           44   46     6            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     9      10  Class java.lang.Throwable
           3    13      13  any
          15    25      26  any
          26    27      26  any
          30    40      41  any
          41    42      41  any
           3    43      43  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      merge  

  protected void mergeSuccess(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4406
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    1     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    MethodParameters:
       Name  Flags
      merge  

  private void abortOneMerge(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4409
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.setAborted:()V
         1: .line 4410
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
         2: .line 4411
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      merge  

  private synchronized boolean registerMerge(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4421
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
            ifeq 2
         1: .line 4422
            iconst_1
            ireturn
         2: .line 4424
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 3
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifgt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 4426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.merges:Lorg/apache/lucene/index/IndexWriter$Merges;
            invokevirtual org.apache.lucene.index.IndexWriter$Merges.areEnabled:()Z
            ifne 6
         4: .line 4427
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.abortOneMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         5: .line 4428
            new org.apache.lucene.index.MergePolicy$MergeAbortedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "merge is aborted: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.lucene.index.MergePolicy$MergeAbortedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 4431
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* isExternal */
        start local 2 // boolean isExternal
         7: .line 4432
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 21
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
         9: .line 4433
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            aload 3 /* info */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
        10: .line 4434
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 4435
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "reject merge "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": segment "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is already marked for merge"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 4437
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int org.apache.lucene.index.SegmentCommitInfo java.util.Iterator
      StackMap stack:
            iconst_0
            ireturn
        13: .line 4439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfos.contains:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifne 17
        14: .line 4440
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 4441
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "reject merge "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": segment "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in live infos"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 4443
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        17: .line 4445
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            if_acmpeq 19
        18: .line 4446
            iconst_1
            istore 2 /* isExternal */
        19: .line 4448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentsToMerge:Ljava/util/Map;
            aload 3 /* info */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 4449
            aload 1 /* merge */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeMaxNumSegments:I
            putfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
        21: .line 4432
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        22: .line 4453
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureValidMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        23: .line 4455
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            aload 1 /* merge */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 4457
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 26
        25: .line 4458
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "add merge to pendingMerges: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " [total "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " pending]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 4461
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int
      StackMap stack:
            aload 1 /* merge */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeGen:J
            putfield org.apache.lucene.index.MergePolicy$OneMerge.mergeGen:J
        27: .line 4462
            aload 1 /* merge */
            iload 2 /* isExternal */
            putfield org.apache.lucene.index.MergePolicy$OneMerge.isExternal:Z
        28: .line 4468
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 37
        29: .line 4469
            new java.lang.StringBuilder
            dup
            ldc "registerMerge merging= ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
        30: .line 4470
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 33
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        31: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 4 /* info */
        start local 4 // org.apache.lucene.index.SegmentCommitInfo info
        32: .line 4471
            aload 3 /* builder */
            aload 4 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name: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;
            pop
        end local 4 // org.apache.lucene.index.SegmentCommitInfo info
        33: .line 4470
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        34: .line 4473
            aload 3 /* builder */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 4476
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 37
        36: .line 4477
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.lang.StringBuilder builder
        37: .line 4480
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 42
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
        38: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
        39: .line 4481
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 41
        40: .line 4482
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "registerMerge info="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        41: .line 4484
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int org.apache.lucene.index.SegmentCommitInfo java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            aload 3 /* info */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
        42: .line 4480
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        43: .line 4487
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 44
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
            lconst_0
            lcmp
            ifeq 44
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 4488
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 45
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.totalMergeBytes:J
            lconst_0
            lcmp
            ifeq 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 4489
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 53
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
        46: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
        47: .line 4490
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifle 53
        48: .line 4491
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.numDeletedDocs:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            istore 5 /* delCount */
        start local 5 // int delCount
        49: .line 4492
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 50
            iload 5 /* delCount */
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmple 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 4493
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int org.apache.lucene.index.SegmentCommitInfo java.util.Iterator int
      StackMap stack:
            iload 5 /* delCount */
            i2d
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            i2d
            ddiv
            dstore 6 /* delRatio */
        start local 6 // double delRatio
        51: .line 4494
            aload 1 /* merge */
            dup
            getfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
            l2d
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            l2d
            dconst_1
            dload 6 /* delRatio */
            dsub
            dmul
            dadd
            d2l
            putfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
        52: .line 4495
            aload 1 /* merge */
            dup
            getfield org.apache.lucene.index.MergePolicy$OneMerge.totalMergeBytes:J
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            ladd
            putfield org.apache.lucene.index.MergePolicy$OneMerge.totalMergeBytes:J
        end local 6 // double delRatio
        end local 5 // int delCount
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
        53: .line 4489
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        54: .line 4500
            aload 1 /* merge */
            iconst_1
            putfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
        55: .line 4502
            iconst_1
            ireturn
        end local 2 // boolean isExternal
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   56     0        this  Lorg/apache/lucene/index/IndexWriter;
            0   56     1       merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            7   56     2  isExternal  Z
            9   21     3        info  Lorg/apache/lucene/index/SegmentCommitInfo;
           30   37     3     builder  Ljava/lang/StringBuilder;
           32   33     4        info  Lorg/apache/lucene/index/SegmentCommitInfo;
           39   42     3        info  Lorg/apache/lucene/index/SegmentCommitInfo;
           47   53     3        info  Lorg/apache/lucene/index/SegmentCommitInfo;
           49   53     5    delCount  I
           51   53     6    delRatio  D
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      merge  

  final void mergeInit(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4508
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.waitApplyForMerge:(Ljava/util/List;Lorg/apache/lucene/index/IndexWriter;)V
         2: .line 4512
            iconst_0
            istore 2 /* success */
        start local 2 // boolean success
         3: .line 4514
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter._mergeInit:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         4: .line 4515
            iconst_1
            istore 2 /* success */
         5: .line 4516
            goto 12
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int
      StackMap stack: java.lang.Throwable
         6: astore 3
         7: .line 4517
            iload 2 /* success */
            ifne 11
         8: .line 4518
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 4519
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception in mergeInit"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 4521
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        11: .line 4523
      StackMap locals:
      StackMap stack:
            aload 3
            athrow
        12: .line 4517
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifne 16
        13: .line 4518
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 15
        14: .line 4519
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception in mergeInit"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 4521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        16: .line 4524
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean success
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   17     1    merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            3   17     2  success  Z
      Exception table:
        from    to  target  type
           3     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      merge  

  private synchronized void _mergeInit(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=13, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4528
            aload 0 /* this */
            ldc "startMergeInit"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         1: .line 4530
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4531
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 3
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            iconst_m1
            if_icmpeq 3
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            ifgt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 4533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 5
         4: .line 4534
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot merge"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         5: .line 4537
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 7
         6: .line 4539
            return
         7: .line 4542
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.mergeInit:()V
         8: .line 4544
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifeq 10
         9: .line 4545
            return
        10: .line 4553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 4554
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now apply deletes for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " merging segments"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 4560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.ReaderPool.writeDocValuesUpdatesForMerge:(Ljava/util/List;)Z
            ifeq 14
        13: .line 4561
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        14: .line 4567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.newSegmentName:()Ljava/lang/String;
            astore 2 /* mergeSegmentName */
        start local 2 // java.lang.String mergeSegmentName
        15: .line 4569
            new org.apache.lucene.index.SegmentInfo
            dup
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            getstatic org.apache.lucene.util.Version.LATEST:Lorg/apache/lucene/util/Version;
            aconst_null
            aload 2 /* mergeSegmentName */
            iconst_m1
            iconst_0
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getCodec:()Lorg/apache/lucene/codecs/Codec;
        16: .line 4570
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic org.apache.lucene.util.StringHelper.randomId:()[B
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getIndexSort:()Lorg/apache/lucene/search/Sort;
        17: .line 4569
            invokespecial org.apache.lucene.index.SegmentInfo.<init>:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/util/Version;Lorg/apache/lucene/util/Version;Ljava/lang/String;IZLorg/apache/lucene/codecs/Codec;Ljava/util/Map;[BLjava/util/Map;Lorg/apache/lucene/search/Sort;)V
            astore 3 /* si */
        start local 3 // org.apache.lucene.index.SegmentInfo si
        18: .line 4571
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* details */
        start local 4 // java.util.Map details
        19: .line 4572
            aload 4 /* details */
            ldc "mergeMaxNumSegments"
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.maxNumSegments:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 4573
            aload 4 /* details */
            ldc "mergeFactor"
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 4574
            aload 3 /* si */
            ldc "merge"
            aload 4 /* details */
            invokestatic org.apache.lucene.index.IndexWriter.setDiagnostics:(Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Ljava/util/Map;)V
        22: .line 4575
            aload 1 /* merge */
            new org.apache.lucene.index.SegmentCommitInfo
            dup
            aload 3 /* si */
            iconst_0
            iconst_0
            ldc -1
            ldc -1
            ldc -1
            invokestatic org.apache.lucene.util.StringHelper.randomId:()[B
            invokespecial org.apache.lucene.index.SegmentCommitInfo.<init>:(Lorg/apache/lucene/index/SegmentInfo;IIJJJ[B)V
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.setMergeInfo:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        23: .line 4577
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 4578
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "merge seg="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name: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;
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 4580
      StackMap locals: java.lang.String org.apache.lucene.index.SegmentInfo java.util.Map
      StackMap stack:
            return
        end local 4 // java.util.Map details
        end local 3 // org.apache.lucene.index.SegmentInfo si
        end local 2 // java.lang.String mergeSegmentName
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lorg/apache/lucene/index/IndexWriter;
            0   26     1             merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
           15   26     2  mergeSegmentName  Ljava/lang/String;
           18   26     3                si  Lorg/apache/lucene/index/SegmentInfo;
           19   26     4           details  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      merge  

  static void setDiagnostics(org.apache.lucene.index.SegmentInfo, java.lang.String);
    descriptor: (Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.SegmentInfo info
        start local 1 // java.lang.String source
         0: .line 4583
            aload 0 /* info */
            aload 1 /* source */
            aconst_null
            invokestatic org.apache.lucene.index.IndexWriter.setDiagnostics:(Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 4584
            return
        end local 1 // java.lang.String source
        end local 0 // org.apache.lucene.index.SegmentInfo info
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    info  Lorg/apache/lucene/index/SegmentInfo;
            0    2     1  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      info    
      source  

  private static void setDiagnostics(org.apache.lucene.index.SegmentInfo, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.SegmentInfo info
        start local 1 // java.lang.String source
        start local 2 // java.util.Map details
         0: .line 4587
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* diagnostics */
        start local 3 // java.util.Map diagnostics
         1: .line 4588
            aload 3 /* diagnostics */
            ldc "source"
            aload 1 /* source */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 4589
            aload 3 /* diagnostics */
            ldc "lucene.version"
            getstatic org.apache.lucene.util.Version.LATEST:Lorg/apache/lucene/util/Version;
            invokevirtual org.apache.lucene.util.Version.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 4590
            aload 3 /* diagnostics */
            ldc "os"
            getstatic org.apache.lucene.util.Constants.OS_NAME:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 4591
            aload 3 /* diagnostics */
            ldc "os.arch"
            getstatic org.apache.lucene.util.Constants.OS_ARCH:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 4592
            aload 3 /* diagnostics */
            ldc "os.version"
            getstatic org.apache.lucene.util.Constants.OS_VERSION:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 4593
            aload 3 /* diagnostics */
            ldc "java.version"
            getstatic org.apache.lucene.util.Constants.JAVA_VERSION:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 4594
            aload 3 /* diagnostics */
            ldc "java.vendor"
            getstatic org.apache.lucene.util.Constants.JAVA_VENDOR:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 4596
            aload 3 /* diagnostics */
            ldc "java.runtime.version"
            ldc "java.runtime.version"
            ldc "undefined"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 4598
            aload 3 /* diagnostics */
            ldc "java.vm.version"
            ldc "java.vm.version"
            ldc "undefined"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 4599
            aload 3 /* diagnostics */
            ldc "timestamp"
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.util.Date.getTime:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 4600
            aload 2 /* details */
            ifnull 13
        12: .line 4601
            aload 3 /* diagnostics */
            aload 2 /* details */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        13: .line 4603
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* info */
            aload 3 /* diagnostics */
            invokevirtual org.apache.lucene.index.SegmentInfo.setDiagnostics:(Ljava/util/Map;)V
        14: .line 4604
            return
        end local 3 // java.util.Map diagnostics
        end local 2 // java.util.Map details
        end local 1 // java.lang.String source
        end local 0 // org.apache.lucene.index.SegmentInfo info
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         info  Lorg/apache/lucene/index/SegmentInfo;
            0   15     1       source  Ljava/lang/String;
            0   15     2      details  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   15     3  diagnostics  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lorg/apache/lucene/index/SegmentInfo;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      info     
      source   
      details  

  private synchronized void mergeFinish(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4612
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
         1: .line 4616
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
            ifeq 8
         2: .line 4617
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            astore 2 /* sourceSegments */
        start local 2 // java.util.List sourceSegments
         3: .line 4618
            aload 2 /* sourceSegments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
         5: .line 4619
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergingSegments:Ljava/util/HashSet;
            aload 3 /* info */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
         6: .line 4618
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 4621
            aload 1 /* merge */
            iconst_0
            putfield org.apache.lucene.index.MergePolicy$OneMerge.registerDone:Z
        end local 2 // java.util.List sourceSegments
         8: .line 4624
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.runningMerges:Ljava/util/Set;
            aload 1 /* merge */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 4625
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/apache/lucene/index/IndexWriter;
            0   10     1           merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            3    8     2  sourceSegments  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            5    6     3            info  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
       Name  Flags
      merge  

  private synchronized void closeMergeReaders(org.apache.lucene.index.MergePolicy$OneMerge, boolean, boolean);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        start local 2 // boolean suppressExceptions
        start local 3 // boolean droppedSegment
         0: .line 4629
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.hasFinished:()Z
            ifne 8
         1: .line 4630
            iload 2 /* suppressExceptions */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* drop */
        start local 4 // boolean drop
         4: .line 4632
            aload 1 /* merge */
            iload 2 /* suppressExceptions */
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int int int
      StackMap stack: org.apache.lucene.index.MergePolicy$OneMerge
         5: iconst_1
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge int int int
      StackMap stack: org.apache.lucene.index.MergePolicy$OneMerge int
         6: iload 3 /* droppedSegment */
            aload 0 /* this */
            iload 4 /* drop */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;Z)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$24(ZLorg/apache/lucene/index/MergePolicy$MergeReader;)V (7)
                  (Lorg/apache/lucene/index/MergePolicy$MergeReader;)V
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.close:(ZZLorg/apache/lucene/util/IOUtils$IOConsumer;)V
        end local 4 // boolean drop
         7: .line 4648
            goto 10
         8: .line 4649
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeReader:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "we are done but still have readers: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeReader:()Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 4650
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 10
            iload 2 /* suppressExceptions */
            ifne 10
            new java.lang.AssertionError
            dup
            ldc "can't be done and not suppressing exceptions"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 4652
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean droppedSegment
        end local 2 // boolean suppressExceptions
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/apache/lucene/index/IndexWriter;
            0   11     1               merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            0   11     2  suppressExceptions  Z
            0   11     3      droppedSegment  Z
            4    7     4                drop  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      merge               
      suppressExceptions  
      droppedSegment      

  private void countSoftDeletes(org.apache.lucene.index.CodecReader, org.apache.lucene.util.Bits, org.apache.lucene.util.Bits, org.apache.lucene.util.Counter, org.apache.lucene.util.Counter);
    descriptor: (Lorg/apache/lucene/index/CodecReader;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Counter;Lorg/apache/lucene/util/Counter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=6
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.CodecReader reader
        start local 2 // org.apache.lucene.util.Bits wrappedLiveDocs
        start local 3 // org.apache.lucene.util.Bits hardLiveDocs
        start local 4 // org.apache.lucene.util.Counter softDeleteCounter
        start local 5 // org.apache.lucene.util.Counter hardDeleteCounter
         0: .line 4656
            iconst_0
            istore 6 /* hardDeleteCount */
        start local 6 // int hardDeleteCount
         1: .line 4657
            iconst_0
            istore 7 /* softDeletesCount */
        start local 7 // int softDeletesCount
         2: .line 4658
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getSoftDeletesField:()Ljava/lang/String;
            aload 1 /* reader */
            invokestatic org.apache.lucene.search.DocValuesFieldExistsQuery.getDocValuesDocIdSetIterator:(Ljava/lang/String;Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/search/DocIdSetIterator;
            astore 8 /* softDeletedDocs */
        start local 8 // org.apache.lucene.search.DocIdSetIterator softDeletedDocs
         3: .line 4659
            aload 8 /* softDeletedDocs */
            ifnull 12
         4: .line 4661
            goto 10
        start local 9 // int docId
         5: .line 4662
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.CodecReader org.apache.lucene.util.Bits org.apache.lucene.util.Bits org.apache.lucene.util.Counter org.apache.lucene.util.Counter int int org.apache.lucene.search.DocIdSetIterator int
      StackMap stack:
            aload 2 /* wrappedLiveDocs */
            ifnull 6
            aload 2 /* wrappedLiveDocs */
            iload 9 /* docId */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifeq 10
         6: .line 4663
      StackMap locals:
      StackMap stack:
            aload 3 /* hardLiveDocs */
            ifnull 7
            aload 3 /* hardLiveDocs */
            iload 9 /* docId */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifeq 9
         7: .line 4664
      StackMap locals:
      StackMap stack:
            iinc 7 /* softDeletesCount */ 1
         8: .line 4665
            goto 10
         9: .line 4666
      StackMap locals:
      StackMap stack:
            iinc 6 /* hardDeleteCount */ 1
        end local 9 // int docId
        10: .line 4661
      StackMap locals:
      StackMap stack:
            aload 8 /* softDeletedDocs */
            invokevirtual org.apache.lucene.search.DocIdSetIterator.nextDoc:()I
            dup
            istore 9 /* docId */
        start local 9 // int docId
        11: ldc 2147483647
            if_icmpne 5
        end local 9 // int docId
        12: .line 4671
      StackMap locals:
      StackMap stack:
            aload 4 /* softDeleteCounter */
            iload 7 /* softDeletesCount */
            i2l
            invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
            pop2
        13: .line 4672
            aload 5 /* hardDeleteCounter */
            iload 6 /* hardDeleteCount */
            i2l
            invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
            pop2
        14: .line 4673
            return
        end local 8 // org.apache.lucene.search.DocIdSetIterator softDeletedDocs
        end local 7 // int softDeletesCount
        end local 6 // int hardDeleteCount
        end local 5 // org.apache.lucene.util.Counter hardDeleteCounter
        end local 4 // org.apache.lucene.util.Counter softDeleteCounter
        end local 3 // org.apache.lucene.util.Bits hardLiveDocs
        end local 2 // org.apache.lucene.util.Bits wrappedLiveDocs
        end local 1 // org.apache.lucene.index.CodecReader reader
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/apache/lucene/index/IndexWriter;
            0   15     1             reader  Lorg/apache/lucene/index/CodecReader;
            0   15     2    wrappedLiveDocs  Lorg/apache/lucene/util/Bits;
            0   15     3       hardLiveDocs  Lorg/apache/lucene/util/Bits;
            0   15     4  softDeleteCounter  Lorg/apache/lucene/util/Counter;
            0   15     5  hardDeleteCounter  Lorg/apache/lucene/util/Counter;
            1   15     6    hardDeleteCount  I
            2   15     7   softDeletesCount  I
            3   15     8    softDeletedDocs  Lorg/apache/lucene/search/DocIdSetIterator;
            5   10     9              docId  I
           11   12     9              docId  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      reader             
      wrappedLiveDocs    
      hardLiveDocs       
      softDeleteCounter  
      hardDeleteCounter  

  private boolean assertSoftDeletesCount(org.apache.lucene.index.CodecReader, int);
    descriptor: (Lorg/apache/lucene/index/CodecReader;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.CodecReader reader
        start local 2 // int expectedCount
         0: .line 4676
            iconst_0
            invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
            astore 3 /* count */
        start local 3 // org.apache.lucene.util.Counter count
         1: .line 4677
            iconst_0
            invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
            astore 4 /* hardDeletes */
        start local 4 // org.apache.lucene.util.Counter hardDeletes
         2: .line 4678
            aload 0 /* this */
            aload 1 /* reader */
            aload 1 /* reader */
            invokevirtual org.apache.lucene.index.CodecReader.getLiveDocs:()Lorg/apache/lucene/util/Bits;
            aconst_null
            aload 3 /* count */
            aload 4 /* hardDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.countSoftDeletes:(Lorg/apache/lucene/index/CodecReader;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Counter;Lorg/apache/lucene/util/Counter;)V
         3: .line 4679
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 5
            aload 3 /* count */
            invokevirtual org.apache.lucene.util.Counter.get:()J
            iload 2 /* expectedCount */
            i2l
            lcmp
            ifeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "soft-deletes count mismatch expected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 4680
            iload 2 /* expectedCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but actual: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* count */
            invokevirtual org.apache.lucene.util.Counter.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 4681
      StackMap locals: org.apache.lucene.util.Counter org.apache.lucene.util.Counter
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.apache.lucene.util.Counter hardDeletes
        end local 3 // org.apache.lucene.util.Counter count
        end local 2 // int expectedCount
        end local 1 // org.apache.lucene.index.CodecReader reader
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1         reader  Lorg/apache/lucene/index/CodecReader;
            0    6     2  expectedCount  I
            1    6     3          count  Lorg/apache/lucene/util/Counter;
            2    6     4    hardDeletes  Lorg/apache/lucene/util/Counter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      reader         
      expectedCount  

  private int mergeMiddle(org.apache.lucene.index.MergePolicy$OneMerge, org.apache.lucene.index.MergePolicy);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergePolicy;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=20, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        start local 2 // org.apache.lucene.index.MergePolicy mergePolicy
         0: .line 4688
            aload 0 /* this */
            ldc "mergeMiddleStart"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         1: .line 4689
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.checkAborted:()V
         2: .line 4691
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeScheduler:Lorg/apache/lucene/index/MergeScheduler;
            aload 1 /* merge */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.MergeScheduler.wrapForMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/store/Directory;)Lorg/apache/lucene/store/Directory;
            astore 3 /* mergeDirectory */
        start local 3 // org.apache.lucene.store.Directory mergeDirectory
         3: .line 4692
            new org.apache.lucene.store.IOContext
            dup
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getStoreMergeInfo:()Lorg/apache/lucene/store/MergeInfo;
            invokespecial org.apache.lucene.store.IOContext.<init>:(Lorg/apache/lucene/store/MergeInfo;)V
            astore 4 /* context */
        start local 4 // org.apache.lucene.store.IOContext context
         4: .line 4694
            new org.apache.lucene.store.TrackingDirectoryWrapper
            dup
            aload 3 /* mergeDirectory */
            invokespecial org.apache.lucene.store.TrackingDirectoryWrapper.<init>:(Lorg/apache/lucene/store/Directory;)V
            astore 5 /* dirWrapper */
        start local 5 // org.apache.lucene.store.TrackingDirectoryWrapper dirWrapper
         5: .line 4696
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 4697
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "merging "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 4702
      StackMap locals: org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper
      StackMap stack:
            iconst_0
            istore 6 /* success */
        start local 6 // boolean success
         8: .line 4704
            aload 1 /* merge */
            aload 0 /* this */
            aload 4 /* context */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/util/IOUtils$IOFunction;
              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/IndexWriter.lambda$25(Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader; (7)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.initMergeReaders:(Lorg/apache/lucene/util/IOUtils$IOFunction;)V
         9: .line 4710
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* mergeReaders */
        start local 7 // java.util.List mergeReaders
        10: .line 4711
            iconst_0
            invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
            astore 8 /* softDeleteCount */
        start local 8 // org.apache.lucene.util.Counter softDeleteCount
        11: .line 4712
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeReader:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 35
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter top java.util.Iterator
      StackMap stack:
        12: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$MergeReader
            astore 9 /* mergeReader */
        start local 9 // org.apache.lucene.index.MergePolicy$MergeReader mergeReader
        13: .line 4713
            aload 9 /* mergeReader */
            getfield org.apache.lucene.index.MergePolicy$MergeReader.reader:Lorg/apache/lucene/index/SegmentReader;
            astore 11 /* reader */
        start local 11 // org.apache.lucene.index.SegmentReader reader
        14: .line 4714
            aload 1 /* merge */
            aload 11 /* reader */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.wrapForMerge:(Lorg/apache/lucene/index/CodecReader;)Lorg/apache/lucene/index/CodecReader;
            astore 12 /* wrappedReader */
        start local 12 // org.apache.lucene.index.CodecReader wrappedReader
        15: .line 4715
            aload 0 /* this */
            aload 12 /* wrappedReader */
            invokevirtual org.apache.lucene.index.IndexWriter.validateMergeReader:(Lorg/apache/lucene/index/CodecReader;)V
        16: .line 4716
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.softDeletesEnabled:Z
            ifeq 34
        17: .line 4717
            aload 11 /* reader */
            aload 12 /* wrappedReader */
            if_acmpeq 34
        18: .line 4718
            aload 9 /* mergeReader */
            getfield org.apache.lucene.index.MergePolicy$MergeReader.hardLiveDocs:Lorg/apache/lucene/util/Bits;
            astore 13 /* hardLiveDocs */
        start local 13 // org.apache.lucene.util.Bits hardLiveDocs
        19: .line 4719
            aload 13 /* hardLiveDocs */
            ifnull 30
        20: .line 4720
            aload 12 /* wrappedReader */
            invokevirtual org.apache.lucene.index.CodecReader.getLiveDocs:()Lorg/apache/lucene/util/Bits;
            astore 14 /* wrappedLiveDocs */
        start local 14 // org.apache.lucene.util.Bits wrappedLiveDocs
        21: .line 4721
            iconst_0
            invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
            astore 15 /* hardDeleteCounter */
        start local 15 // org.apache.lucene.util.Counter hardDeleteCounter
        22: .line 4722
            aload 0 /* this */
            aload 12 /* wrappedReader */
            aload 14 /* wrappedLiveDocs */
            aload 13 /* hardLiveDocs */
            aload 8 /* softDeleteCount */
            aload 15 /* hardDeleteCounter */
            invokevirtual org.apache.lucene.index.IndexWriter.countSoftDeletes:(Lorg/apache/lucene/index/CodecReader;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Counter;Lorg/apache/lucene/util/Counter;)V
        23: .line 4723
            aload 15 /* hardDeleteCounter */
            invokevirtual org.apache.lucene.util.Counter.get:()J
            invokestatic java.lang.Math.toIntExact:(J)I
            istore 16 /* hardDeleteCount */
        start local 16 // int hardDeleteCount
        24: .line 4725
            iload 16 /* hardDeleteCount */
            ifle 34
        25: .line 4726
            aload 14 /* wrappedLiveDocs */
            ifnonnull 26
            aload 13 /* hardLiveDocs */
            goto 27
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.MergePolicy$MergeReader java.util.Iterator org.apache.lucene.index.SegmentReader org.apache.lucene.index.CodecReader org.apache.lucene.util.Bits org.apache.lucene.util.Bits org.apache.lucene.util.Counter int
      StackMap stack:
        26: new org.apache.lucene.index.IndexWriter$3
            dup
            aload 0 /* this */
            aload 13 /* hardLiveDocs */
            aload 14 /* wrappedLiveDocs */
            invokespecial org.apache.lucene.index.IndexWriter$3.<init>:(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;)V
      StackMap locals:
      StackMap stack: org.apache.lucene.util.Bits
        27: astore 17 /* liveDocs */
        start local 17 // org.apache.lucene.util.Bits liveDocs
        28: .line 4737
            aload 12 /* wrappedReader */
            aload 17 /* liveDocs */
            aload 12 /* wrappedReader */
            invokevirtual org.apache.lucene.index.CodecReader.numDocs:()I
            iload 16 /* hardDeleteCount */
            isub
            invokestatic org.apache.lucene.index.FilterCodecReader.wrapLiveDocs:(Lorg/apache/lucene/index/CodecReader;Lorg/apache/lucene/util/Bits;I)Lorg/apache/lucene/index/FilterCodecReader;
            astore 12 /* wrappedReader */
        end local 17 // org.apache.lucene.util.Bits liveDocs
        end local 16 // int hardDeleteCount
        end local 15 // org.apache.lucene.util.Counter hardDeleteCounter
        end local 14 // org.apache.lucene.util.Bits wrappedLiveDocs
        29: .line 4739
            goto 34
        30: .line 4740
      StackMap locals:
      StackMap stack:
            aload 11 /* reader */
            invokevirtual org.apache.lucene.index.SegmentReader.getSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getSoftDelCount:()I
            aload 12 /* wrappedReader */
            invokevirtual org.apache.lucene.index.CodecReader.numDeletedDocs:()I
            isub
            istore 14 /* carryOverSoftDeletes */
        start local 14 // int carryOverSoftDeletes
        31: .line 4741
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 32
            iload 14 /* carryOverSoftDeletes */
            ifge 32
            new java.lang.AssertionError
            dup
            ldc "carry-over soft-deletes must be positive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        32: .line 4742
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 33
            aload 0 /* this */
            aload 12 /* wrappedReader */
            iload 14 /* carryOverSoftDeletes */
            invokevirtual org.apache.lucene.index.IndexWriter.assertSoftDeletesCount:(Lorg/apache/lucene/index/CodecReader;I)Z
            ifne 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 4743
      StackMap locals:
      StackMap stack:
            aload 8 /* softDeleteCount */
            iload 14 /* carryOverSoftDeletes */
            i2l
            invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
            pop2
        end local 14 // int carryOverSoftDeletes
        end local 13 // org.apache.lucene.util.Bits hardLiveDocs
        34: .line 4747
      StackMap locals:
      StackMap stack:
            aload 7 /* mergeReaders */
            aload 12 /* wrappedReader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.apache.lucene.index.CodecReader wrappedReader
        end local 11 // org.apache.lucene.index.SegmentReader reader
        end local 9 // org.apache.lucene.index.MergePolicy$MergeReader mergeReader
        35: .line 4712
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        36: .line 4749
            new org.apache.lucene.index.SegmentMerger
            dup
            aload 7 /* mergeReaders */
        37: .line 4750
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 5 /* dirWrapper */
        38: .line 4751
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.globalFieldNumberMap:Lorg/apache/lucene/index/FieldInfos$FieldNumbers;
        39: .line 4752
            aload 4 /* context */
        40: .line 4749
            invokespecial org.apache.lucene.index.SegmentMerger.<init>:(Ljava/util/List;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/FieldInfos$FieldNumbers;Lorg/apache/lucene/store/IOContext;)V
            astore 9 /* merger */
        start local 9 // org.apache.lucene.index.SegmentMerger merger
        41: .line 4753
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            aload 8 /* softDeleteCount */
            invokevirtual org.apache.lucene.util.Counter.get:()J
            invokestatic java.lang.Math.toIntExact:(J)I
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.setSoftDelCount:(I)V
        42: .line 4754
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.checkAborted:()V
        43: .line 4756
            aload 1 /* merge */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.apache.lucene.index.MergePolicy$OneMerge.mergeStartNS:J
        44: .line 4759
            aload 9 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.shouldMerge:()Z
            ifeq 46
        45: .line 4760
            aload 9 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.merge:()Lorg/apache/lucene/index/MergeState;
            pop
        46: .line 4763
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger
      StackMap stack:
            aload 9 /* merger */
            getfield org.apache.lucene.index.SegmentMerger.mergeState:Lorg/apache/lucene/index/MergeState;
            astore 10 /* mergeState */
        start local 10 // org.apache.lucene.index.MergeState mergeState
        47: .line 4764
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 48
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.segmentInfo:Lorg/apache/lucene/index/SegmentInfo;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            if_acmpeq 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 4765
      StackMap locals: org.apache.lucene.index.MergeState
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            new java.util.HashSet
            dup
            aload 5 /* dirWrapper */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual org.apache.lucene.index.SegmentInfo.setFiles:(Ljava/util/Collection;)V
        49: .line 4766
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getCodec:()Lorg/apache/lucene/codecs/Codec;
            astore 11 /* codec */
        start local 11 // org.apache.lucene.codecs.Codec codec
        50: .line 4767
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 92
        51: .line 4768
            aload 9 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.shouldMerge:()Z
            ifeq 91
        52: .line 4769
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeProgress:()Lorg/apache/lucene/index/MergePolicy$OneMergeProgress;
            invokevirtual org.apache.lucene.index.MergePolicy$OneMergeProgress.getPauseTimes:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
        53: .line 4770
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        54: .line 4771
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  org/apache/lucene/index/IndexWriter.lambda$26(Ljava/util/Map$Entry;)Z (6)
                  (Ljava/util/Map$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        55: .line 4772
            invokedynamic apply()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/IndexWriter.lambda$27(Ljava/util/Map$Entry;)Ljava/lang/String; (6)
                  (Ljava/util/Map$Entry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        56: .line 4775
            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
        57: .line 4769
            astore 12 /* pauseInfo */
        start local 12 // java.lang.String pauseInfo
        58: .line 4776
            aload 12 /* pauseInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 60
        59: .line 4777
            new java.lang.StringBuilder
            dup
            ldc " ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* pauseInfo */
            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;
            astore 12 /* pauseInfo */
        60: .line 4780
      StackMap locals: org.apache.lucene.codecs.Codec java.lang.String
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 13 /* t1 */
        start local 13 // long t1
        61: .line 4781
            lload 13 /* t1 */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.mergeStartNS:J
            lsub
            l2d
            ldc 1.0E9
            ddiv
            dstore 15 /* sec */
        start local 15 // double sec
        62: .line 4782
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            l2d
            ldc 1024.0
            ddiv
            ldc 1024.0
            ddiv
            dstore 17 /* segmentMB */
        start local 17 // double segmentMB
        63: .line 4783
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "merge codec="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* codec */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " maxDoc="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            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;
            ldc "; merged segment has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 4784
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasVectors:()Z
            ifeq 65
            ldc "vectors"
            goto 66
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        65: ldc "no vectors"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        66: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        67: .line 4785
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasNorms:()Z
            ifeq 68
            ldc "norms"
            goto 69
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        68: ldc "no norms"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        69: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        70: .line 4786
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasDocValues:()Z
            ifeq 71
            ldc "docValues"
            goto 72
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        71: ldc "no docValues"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        72: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 4787
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasProx:()Z
            ifeq 74
            ldc "prox"
            goto 75
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        74: ldc "no prox"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        75: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        76: .line 4788
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasProx:()Z
            ifeq 77
            ldc "freqs"
            goto 78
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        77: ldc "no freqs"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        78: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        79: .line 4789
            aload 10 /* mergeState */
            getfield org.apache.lucene.index.MergeState.mergeFieldInfos:Lorg/apache/lucene/index/FieldInfos;
            invokevirtual org.apache.lucene.index.FieldInfos.hasPointValues:()Z
            ifeq 80
            ldc "points"
            goto 81
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        80: ldc "no points"
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec java.lang.String long double double
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder java.lang.String
        81: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        82: .line 4790
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
        83: .line 4791
            ldc "%.1f sec%s to merge segment [%.2f MB, %.2f MB/sec]"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        84: .line 4792
            dload 15 /* sec */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
        85: .line 4793
            aload 12 /* pauseInfo */
            aastore
            dup
            iconst_2
        86: .line 4794
            dload 17 /* segmentMB */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_3
        87: .line 4795
            dload 17 /* segmentMB */
            dload 15 /* sec */
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        88: .line 4790
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        89: .line 4783
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 17 // double segmentMB
        end local 15 // double sec
        end local 13 // long t1
        end local 12 // java.lang.String pauseInfo
        90: .line 4796
            goto 92
        91: .line 4797
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "skip merging fully deleted segments"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        92: .line 4801
      StackMap locals:
      StackMap stack:
            aload 9 /* merger */
            invokevirtual org.apache.lucene.index.SegmentMerger.shouldMerge:()Z
            ifne 99
        93: .line 4803
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 94
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifeq 94
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        94: .line 4804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            aload 10 /* mergeState */
            invokevirtual org.apache.lucene.index.IndexWriter.commitMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeState;)Z
            pop
        95: .line 4805
            iconst_1
            istore 6 /* success */
        96: .line 4928
            iload 6 /* success */
            ifne 98
        97: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
        98: .line 4806
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        99: .line 4809
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 100
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ifgt 100
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       100: .line 4815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
       101: .line 4816
            aload 2 /* mergePolicy */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.MergePolicy.useCompoundFile:(Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeContext;)Z
            istore 12 /* useCompoundFile */
        start local 12 // boolean useCompoundFile
       102: .line 4815
            aload 13
            monitorexit
       103: goto 106
        end local 12 // boolean useCompoundFile
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec top org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
       104: aload 13
            monitorexit
       105: athrow
        start local 12 // boolean useCompoundFile
       106: .line 4819
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int
      StackMap stack:
            iload 12 /* useCompoundFile */
            ifeq 162
       107: .line 4820
            iconst_0
            istore 6 /* success */
       108: .line 4822
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            astore 13 /* filesToRemove */
        start local 13 // java.util.Collection filesToRemove
       109: .line 4823
            new org.apache.lucene.store.TrackingDirectoryWrapper
            dup
            aload 3 /* mergeDirectory */
            invokespecial org.apache.lucene.store.TrackingDirectoryWrapper.<init>:(Lorg/apache/lucene/store/Directory;)V
            astore 14 /* trackingCFSDir */
        start local 14 // org.apache.lucene.store.TrackingDirectoryWrapper trackingCFSDir
       110: .line 4825
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            aload 14 /* trackingCFSDir */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            aload 4 /* context */
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.deleteNewFiles(Ljava/util/Collection;)V (7)
                  (Ljava/util/Collection;)V
            invokestatic org.apache.lucene.index.IndexWriter.createCompoundFile:(Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/TrackingDirectoryWrapper;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
       111: .line 4826
            iconst_1
            istore 6 /* success */
       112: .line 4827
            goto 141
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int java.util.Collection org.apache.lucene.store.TrackingDirectoryWrapper
      StackMap stack: java.lang.Throwable
       113: astore 15 /* t */
        start local 15 // java.lang.Throwable t
       114: .line 4828
            aload 0 /* this */
            dup
            astore 16
            monitorenter
       115: .line 4829
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifeq 126
       116: .line 4833
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 118
       117: .line 4834
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit merge abort exception creating compound file during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       118: .line 4836
      StackMap locals: java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 16
            monitorexit
       119: .line 4842
            iload 6 /* success */
            ifne 123
       120: .line 4843
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 122
       121: .line 4844
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception creating compound file during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       122: .line 4847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       123: .line 4928
      StackMap locals:
      StackMap stack:
            iload 6 /* success */
            ifne 125
       124: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
       125: .line 4836
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       126: .line 4838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* t */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.handleMergeException:(Ljava/lang/Throwable;Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
       127: .line 4828
            aload 16
            monitorexit
       128: goto 131
      StackMap locals:
      StackMap stack: java.lang.Throwable
       129: aload 16
            monitorexit
       130: athrow
        end local 15 // java.lang.Throwable t
       131: .line 4842
      StackMap locals:
      StackMap stack:
            iload 6 /* success */
            ifne 145
       132: .line 4843
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 134
       133: .line 4844
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception creating compound file during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       134: .line 4847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
            goto 145
       135: .line 4841
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 17
       136: .line 4842
            iload 6 /* success */
            ifne 140
       137: .line 4843
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 139
       138: .line 4844
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception creating compound file during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       139: .line 4847
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int java.util.Collection org.apache.lucene.store.TrackingDirectoryWrapper top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       140: .line 4849
      StackMap locals:
      StackMap stack:
            aload 17
            athrow
       141: .line 4842
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int java.util.Collection org.apache.lucene.store.TrackingDirectoryWrapper
      StackMap stack:
            iload 6 /* success */
            ifne 145
       142: .line 4843
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 144
       143: .line 4844
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception creating compound file during merge"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       144: .line 4847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       145: .line 4854
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* success */
       146: .line 4856
            aload 0 /* this */
            dup
            astore 15
            monitorenter
       147: .line 4860
            aload 0 /* this */
            aload 13 /* filesToRemove */
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       148: .line 4862
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.isAborted:()Z
            ifeq 156
       149: .line 4863
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 151
       150: .line 4864
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "abort merge after building CFS"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       151: .line 4867
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       152: .line 4868
            aload 15
            monitorexit
       153: .line 4928
            iload 6 /* success */
            ifne 155
       154: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
       155: .line 4868
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       156: .line 4856
      StackMap locals:
      StackMap stack:
            aload 15
            monitorexit
       157: goto 160
      StackMap locals:
      StackMap stack: java.lang.Throwable
       158: aload 15
            monitorexit
       159: athrow
       160: .line 4872
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            iconst_1
            invokevirtual org.apache.lucene.index.SegmentInfo.setUseCompoundFile:(Z)V
        end local 14 // org.apache.lucene.store.TrackingDirectoryWrapper trackingCFSDir
        end local 13 // java.util.Collection filesToRemove
       161: .line 4873
            goto 163
       162: .line 4877
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* success */
       163: .line 4884
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* success2 */
        start local 13 // boolean success2
       164: .line 4886
            aload 11 /* codec */
            invokevirtual org.apache.lucene.codecs.Codec.segmentInfoFormat:()Lorg/apache/lucene/codecs/SegmentInfoFormat;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            aload 4 /* context */
            invokevirtual org.apache.lucene.codecs.SegmentInfoFormat.write:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;)V
       165: .line 4887
            iconst_1
            istore 13 /* success2 */
       166: .line 4888
            goto 171
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int int
      StackMap stack: java.lang.Throwable
       167: astore 14
       168: .line 4889
            iload 13 /* success2 */
            ifne 170
       169: .line 4891
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       170: .line 4893
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
       171: .line 4889
      StackMap locals:
      StackMap stack:
            iload 13 /* success2 */
            ifne 173
       172: .line 4891
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexWriter.deleteNewFiles:(Ljava/util/Collection;)V
       173: .line 4899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 175
       174: .line 4900
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            ldc "merged segment size=%.3f MB vs estimate=%.3f MB"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.sizeInBytes:()J
            l2d
            ldc 1024.0
            ddiv
            ldc 1024.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
            ldc 1024
            ldiv
            l2d
            ldc 1024.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
       175: .line 4903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergedSegmentWarmer:()Lorg/apache/lucene/index/IndexWriter$IndexReaderWarmer;
            astore 14 /* mergedSegmentWarmer */
        start local 14 // org.apache.lucene.index.IndexWriter$IndexReaderWarmer mergedSegmentWarmer
       176: .line 4904
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.isReaderPoolingEnabled:()Z
            ifeq 197
            aload 14 /* mergedSegmentWarmer */
            ifnull 197
       177: .line 4905
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 15 /* rld */
        start local 15 // org.apache.lucene.index.ReadersAndUpdates rld
       178: .line 4906
            aload 15 /* rld */
            getstatic org.apache.lucene.store.IOContext.READ:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getReader:(Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/SegmentReader;
            astore 16 /* sr */
        start local 16 // org.apache.lucene.index.SegmentReader sr
       179: .line 4908
            aload 14 /* mergedSegmentWarmer */
            aload 16 /* sr */
            invokeinterface org.apache.lucene.index.IndexWriter$IndexReaderWarmer.warm:(Lorg/apache/lucene/index/LeafReader;)V
       180: .line 4909
            goto 190
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int int org.apache.lucene.index.IndexWriter$IndexReaderWarmer org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.SegmentReader
      StackMap stack: java.lang.Throwable
       181: astore 17
       182: .line 4910
            aload 0 /* this */
            dup
            astore 18
            monitorenter
       183: .line 4911
            aload 15 /* rld */
            aload 16 /* sr */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.release:(Lorg/apache/lucene/index/SegmentReader;)V
       184: .line 4912
            aload 0 /* this */
            aload 15 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
       185: .line 4910
            aload 18
            monitorexit
       186: goto 189
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int int org.apache.lucene.index.IndexWriter$IndexReaderWarmer org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.SegmentReader java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
       187: aload 18
            monitorexit
       188: athrow
       189: .line 4914
      StackMap locals:
      StackMap stack:
            aload 17
            athrow
       190: .line 4910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 18
            monitorenter
       191: .line 4911
            aload 15 /* rld */
            aload 16 /* sr */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.release:(Lorg/apache/lucene/index/SegmentReader;)V
       192: .line 4912
            aload 0 /* this */
            aload 15 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
       193: .line 4910
            aload 18
            monitorexit
       194: goto 197
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int int org.apache.lucene.index.IndexWriter$IndexReaderWarmer org.apache.lucene.index.ReadersAndUpdates org.apache.lucene.index.SegmentReader top org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
       195: aload 18
            monitorexit
       196: athrow
        end local 16 // org.apache.lucene.index.SegmentReader sr
        end local 15 // org.apache.lucene.index.ReadersAndUpdates rld
       197: .line 4917
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int java.util.List org.apache.lucene.util.Counter org.apache.lucene.index.SegmentMerger org.apache.lucene.index.MergeState org.apache.lucene.codecs.Codec int int org.apache.lucene.index.IndexWriter$IndexReaderWarmer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            aload 10 /* mergeState */
            invokevirtual org.apache.lucene.index.IndexWriter.commitMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeState;)Z
            ifne 201
       198: .line 4928
            iload 6 /* success */
            ifne 200
       199: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
       200: .line 4920
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       201: .line 4923
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* success */
        end local 14 // org.apache.lucene.index.IndexWriter$IndexReaderWarmer mergedSegmentWarmer
        end local 13 // boolean success2
        end local 12 // boolean useCompoundFile
        end local 11 // org.apache.lucene.codecs.Codec codec
        end local 10 // org.apache.lucene.index.MergeState mergeState
        end local 9 // org.apache.lucene.index.SegmentMerger merger
        end local 8 // org.apache.lucene.util.Counter softDeleteCount
        end local 7 // java.util.List mergeReaders
       202: .line 4925
            goto 207
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int
      StackMap stack: java.lang.Throwable
       203: astore 19
       204: .line 4928
            iload 6 /* success */
            ifne 206
       205: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
       206: .line 4931
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 19
            athrow
       207: .line 4928
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.MergePolicy$OneMerge org.apache.lucene.index.MergePolicy org.apache.lucene.store.Directory org.apache.lucene.store.IOContext org.apache.lucene.store.TrackingDirectoryWrapper int
      StackMap stack:
            iload 6 /* success */
            ifne 209
       208: .line 4929
            aload 0 /* this */
            aload 1 /* merge */
            iconst_1
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.closeMergeReaders:(Lorg/apache/lucene/index/MergePolicy$OneMerge;ZZ)V
       209: .line 4933
      StackMap locals:
      StackMap stack:
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            ireturn
        end local 6 // boolean success
        end local 5 // org.apache.lucene.store.TrackingDirectoryWrapper dirWrapper
        end local 4 // org.apache.lucene.store.IOContext context
        end local 3 // org.apache.lucene.store.Directory mergeDirectory
        end local 2 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  210     0                  this  Lorg/apache/lucene/index/IndexWriter;
            0  210     1                 merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            0  210     2           mergePolicy  Lorg/apache/lucene/index/MergePolicy;
            3  210     3        mergeDirectory  Lorg/apache/lucene/store/Directory;
            4  210     4               context  Lorg/apache/lucene/store/IOContext;
            5  210     5            dirWrapper  Lorg/apache/lucene/store/TrackingDirectoryWrapper;
            8  210     6               success  Z
           10  202     7          mergeReaders  Ljava/util/List<Lorg/apache/lucene/index/CodecReader;>;
           11  202     8       softDeleteCount  Lorg/apache/lucene/util/Counter;
           13   35     9           mergeReader  Lorg/apache/lucene/index/MergePolicy$MergeReader;
           14   35    11                reader  Lorg/apache/lucene/index/SegmentReader;
           15   35    12         wrappedReader  Lorg/apache/lucene/index/CodecReader;
           19   34    13          hardLiveDocs  Lorg/apache/lucene/util/Bits;
           21   29    14       wrappedLiveDocs  Lorg/apache/lucene/util/Bits;
           22   29    15     hardDeleteCounter  Lorg/apache/lucene/util/Counter;
           24   29    16       hardDeleteCount  I
           28   29    17              liveDocs  Lorg/apache/lucene/util/Bits;
           31   34    14  carryOverSoftDeletes  I
           41  202     9                merger  Lorg/apache/lucene/index/SegmentMerger;
           47  202    10            mergeState  Lorg/apache/lucene/index/MergeState;
           50  202    11                 codec  Lorg/apache/lucene/codecs/Codec;
           58   90    12             pauseInfo  Ljava/lang/String;
           61   90    13                    t1  J
           62   90    15                   sec  D
           63   90    17             segmentMB  D
          102  104    12       useCompoundFile  Z
          106  202    12       useCompoundFile  Z
          109  161    13         filesToRemove  Ljava/util/Collection<Ljava/lang/String;>;
          110  161    14        trackingCFSDir  Lorg/apache/lucene/store/TrackingDirectoryWrapper;
          114  131    15                     t  Ljava/lang/Throwable;
          164  202    13              success2  Z
          176  202    14   mergedSegmentWarmer  Lorg/apache/lucene/index/IndexWriter$IndexReaderWarmer;
          178  197    15                   rld  Lorg/apache/lucene/index/ReadersAndUpdates;
          179  197    16                    sr  Lorg/apache/lucene/index/SegmentReader;
      Exception table:
        from    to  target  type
         101   103     104  any
         104   105     104  any
         110   112     113  Class java.lang.Throwable
         115   119     129  any
         126   128     129  any
         129   130     129  any
         110   119     135  any
         126   131     135  any
         147   153     158  any
         156   157     158  any
         158   159     158  any
         164   167     167  any
         179   181     181  any
         183   186     187  any
         187   188     187  any
         191   194     195  any
         195   196     195  any
           8    96     203  any
          99   123     203  any
         126   153     203  any
         156   198     203  any
         201   203     203  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      merge        
      mergePolicy  

  private synchronized void addMergeException(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 4937
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getException:()Ljava/lang/Throwable;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            aload 1 /* merge */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeGen:J
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.mergeGen:J
            lcmp
            ifne 3
         2: .line 4939
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeExceptions:Ljava/util/List;
            aload 1 /* merge */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 4941
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    MethodParameters:
       Name  Flags
      merge  

  final int getBufferedDeleteTermsSize();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 4945
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getBufferedDeleteTermsSize:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  final int getNumBufferedDeleteTerms();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 4950
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNumBufferedDeleteTerms:()I
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  synchronized org.apache.lucene.index.SegmentCommitInfo newestSegment();
    descriptor: ()Lorg/apache/lucene/index/SegmentCommitInfo;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 4955
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.size:()I
            ifle 1
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.size:()I
            iconst_1
            isub
            invokevirtual org.apache.lucene.index.SegmentInfos.info:(I)Lorg/apache/lucene/index/SegmentCommitInfo;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.apache.lucene.index.SegmentCommitInfo
         2: areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;

  synchronized java.lang.String segString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 4963
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  synchronized java.lang.String segString(java.lang.Iterable<org.apache.lucene.index.SegmentCommitInfo>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Iterable infos
         0: .line 4967
            aload 1 /* 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 4968
            aload 0 /* this */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;)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/IndexWriter.segString(Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String; (7)
                  (Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            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
         2: .line 4967
            areturn
        end local 1 // java.lang.Iterable infos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  infos  Ljava/lang/Iterable<Lorg/apache/lucene/index/SegmentCommitInfo;>;
    Signature: (Ljava/lang/Iterable<Lorg/apache/lucene/index/SegmentCommitInfo;>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      infos  

  private synchronized java.lang.String segString(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)Ljava/lang/String;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 4976
            aload 1 /* info */
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.numDeletedDocs:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            aload 1 /* info */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.softDeletesEnabled:Z
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:(Z)I
            isub
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.toString:(I)Ljava/lang/String;
            areturn
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    1     1  info  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
      Name  Flags
      info  

  private synchronized void doWait();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 4987
            aload 0 /* this */
            ldc 1000
            invokevirtual java.lang.Object.wait:(J)V
         1: .line 4988
            goto 4
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         2: astore 1 /* ie */
        start local 1 // java.lang.InterruptedException ie
         3: .line 4989
            new org.apache.lucene.util.ThreadInterruptedException
            dup
            aload 1 /* ie */
            invokespecial org.apache.lucene.util.ThreadInterruptedException.<init>:(Ljava/lang/InterruptedException;)V
            athrow
        end local 1 // java.lang.InterruptedException ie
         4: .line 4991
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/index/IndexWriter;
            3    4     1    ie  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException

  private boolean filesExist(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos toSync
         0: .line 4996
            aload 1 /* toSync */
            iconst_0
            invokevirtual org.apache.lucene.index.SegmentInfos.files:(Z)Ljava/util/Collection;
            astore 2 /* files */
        start local 2 // java.util.Collection files
         1: .line 4997
            aload 2 /* files */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         3: .line 5003
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 3 /* fileName */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.exists:(Ljava/lang/String;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "IndexFileDeleter doesn't know about file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.String fileName
         4: .line 4997
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 5005
            iconst_1
            ireturn
        end local 2 // java.util.Collection files
        end local 1 // org.apache.lucene.index.SegmentInfos toSync
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1    toSync  Lorg/apache/lucene/index/SegmentInfos;
            1    6     2     files  Ljava/util/Collection<Ljava/lang/String;>;
            3    4     3  fileName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      toSync  

  synchronized org.apache.lucene.index.SegmentInfos toLiveInfos(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)Lorg/apache/lucene/index/SegmentInfos;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos sis
         0: .line 5010
            new org.apache.lucene.index.SegmentInfos
            dup
            aload 1 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.getIndexCreatedVersionMajor:()I
            invokespecial org.apache.lucene.index.SegmentInfos.<init>:(I)V
            astore 2 /* newSIS */
        start local 2 // org.apache.lucene.index.SegmentInfos newSIS
         1: .line 5011
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* liveSIS */
        start local 3 // java.util.Map liveSIS
         2: .line 5012
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos org.apache.lucene.index.SegmentInfos java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 4 /* info */
        start local 4 // org.apache.lucene.index.SegmentCommitInfo info
         4: .line 5013
            aload 3 /* liveSIS */
            aload 4 /* info */
            aload 4 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.apache.lucene.index.SegmentCommitInfo info
         5: .line 5012
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 5015
            aload 1 /* sis */
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals:
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 4 /* info */
        start local 4 // org.apache.lucene.index.SegmentCommitInfo info
         8: .line 5016
            aload 3 /* liveSIS */
            aload 4 /* info */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 6 /* liveInfo */
        start local 6 // org.apache.lucene.index.SegmentCommitInfo liveInfo
         9: .line 5017
            aload 6 /* liveInfo */
            ifnull 11
        10: .line 5018
            aload 6 /* liveInfo */
            astore 4 /* info */
        11: .line 5020
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos org.apache.lucene.index.SegmentInfos java.util.Map org.apache.lucene.index.SegmentCommitInfo java.util.Iterator org.apache.lucene.index.SegmentCommitInfo
      StackMap stack:
            aload 2 /* newSIS */
            aload 4 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfos.add:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        end local 6 // org.apache.lucene.index.SegmentCommitInfo liveInfo
        end local 4 // org.apache.lucene.index.SegmentCommitInfo info
        12: .line 5015
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos org.apache.lucene.index.SegmentInfos java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        13: .line 5023
            aload 2 /* newSIS */
            areturn
        end local 3 // java.util.Map liveSIS
        end local 2 // org.apache.lucene.index.SegmentInfos newSIS
        end local 1 // org.apache.lucene.index.SegmentInfos sis
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/apache/lucene/index/IndexWriter;
            0   14     1       sis  Lorg/apache/lucene/index/SegmentInfos;
            1   14     2    newSIS  Lorg/apache/lucene/index/SegmentInfos;
            2   14     3   liveSIS  Ljava/util/Map<Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/SegmentCommitInfo;>;
            4    5     4      info  Lorg/apache/lucene/index/SegmentCommitInfo;
            8   12     4      info  Lorg/apache/lucene/index/SegmentCommitInfo;
            9   12     6  liveInfo  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
      Name  Flags
      sis   

  private void startCommit(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos toSync
         0: .line 5033
            aload 0 /* this */
            ldc "startStartCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
         1: .line 5034
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 4
         3: .line 5037
            new java.lang.IllegalStateException
            dup
            ldc "this writer hit an unrecoverable error; cannot commit"
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         4: .line 5042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 5043
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "startCommit(): start"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 5046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         7: .line 5048
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lcmp
            ifle 9
         8: .line 5049
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "lastCommitChangeCount="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ",changeCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 5052
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommitChangeCount:J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.lastCommitChangeCount:J
            lcmp
            ifne 20
        10: .line 5053
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 5054
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "  skip startCommit(): no changes pending"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 5057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
        13: .line 5058
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
        15: .line 5059
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        16: .line 5060
            aload 3
            athrow
        17: .line 5059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        18: .line 5061
            aload 2
            monitorexit
        19: return
        20: .line 5064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 22
        21: .line 5065
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "startCommit index="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.IndexWriter.toLiveInfos:(Lorg/apache/lucene/index/SegmentInfos;)Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " changeCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.changeCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 5068
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 23
            aload 0 /* this */
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.IndexWriter.filesExist:(Lorg/apache/lucene/index/SegmentInfos;)Z
            ifne 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 5046
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 2
            monitorexit
        26: athrow
        27: .line 5071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "midStartCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        28: .line 5073
            iconst_0
            istore 2 /* pendingCommitSet */
        start local 2 // boolean pendingCommitSet
        29: .line 5077
            aload 0 /* this */
            ldc "midStartCommit2"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        30: .line 5079
            aload 0 /* this */
            dup
            astore 3
            monitorenter
        31: .line 5081
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 32
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
            ifnull 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 5083
      StackMap locals: int org.apache.lucene.index.IndexWriter
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 33
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getGeneration:()J
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.SegmentInfos.getGeneration:()J
            lcmp
            ifeq 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 5088
      StackMap locals:
      StackMap stack:
            aload 1 /* toSync */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.prepareCommit:(Lorg/apache/lucene/store/Directory;)V
        34: .line 5089
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 36
        35: .line 5090
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "startCommit: wrote pending segments file \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "pending_segments"
            ldc ""
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.SegmentInfos.getGeneration:()J
            invokestatic org.apache.lucene.index.IndexFileNames.fileNameFromGeneration:(Ljava/lang/String;Ljava/lang/String;J)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;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        36: .line 5093
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* pendingCommitSet */
        37: .line 5094
            aload 0 /* this */
            aload 1 /* toSync */
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        38: .line 5079
            aload 3
            monitorexit
        39: goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: aload 3
            monitorexit
        41: athrow
        42: .line 5099
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        43: .line 5102
            aload 1 /* toSync */
            iconst_0
            invokevirtual org.apache.lucene.index.SegmentInfos.files:(Z)Ljava/util/Collection;
            astore 4 /* filesToSync */
        start local 4 // java.util.Collection filesToSync
        44: .line 5103
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            aload 4 /* filesToSync */
            invokevirtual org.apache.lucene.store.Directory.sync:(Ljava/util/Collection;)V
        45: .line 5104
            iconst_1
            istore 3 /* success */
        46: .line 5105
            goto 53
        end local 4 // java.util.Collection filesToSync
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int int
      StackMap stack: java.lang.Throwable
        47: astore 5
        48: .line 5106
            iload 3 /* success */
            ifne 52
        49: .line 5107
            iconst_0
            istore 2 /* pendingCommitSet */
        50: .line 5108
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        51: .line 5109
            aload 1 /* toSync */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.rollbackCommit:(Lorg/apache/lucene/store/Directory;)V
        52: .line 5111
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int int top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        start local 4 // java.util.Collection filesToSync
        53: .line 5106
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int int java.util.Collection
      StackMap stack:
            iload 3 /* success */
            ifne 57
        54: .line 5107
            iconst_0
            istore 2 /* pendingCommitSet */
        55: .line 5108
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.pendingCommit:Lorg/apache/lucene/index/SegmentInfos;
        56: .line 5109
            aload 1 /* toSync */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directory:Lorg/apache/lucene/store/Directory;
            invokevirtual org.apache.lucene.index.SegmentInfos.rollbackCommit:(Lorg/apache/lucene/store/Directory;)V
        57: .line 5113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 59
        58: .line 5114
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "done all syncs: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* filesToSync */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        59: .line 5117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "midStartCommitSuccess"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        end local 4 // java.util.Collection filesToSync
        end local 3 // boolean success
        60: .line 5118
            goto 88
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int
      StackMap stack: java.lang.Throwable
        61: astore 3 /* t */
        start local 3 // java.lang.Throwable t
        62: .line 5119
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        63: .line 5120
            iload 2 /* pendingCommitSet */
            ifne 75
        64: .line 5121
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 66
        65: .line 5122
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            ldc "hit exception committing segments file"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        66: .line 5126
      StackMap locals: java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
        67: .line 5127
            goto 74
      StackMap locals:
      StackMap stack: java.lang.Throwable
        68: astore 5 /* t1 */
        start local 5 // java.lang.Throwable t1
        69: .line 5128
            aload 3 /* t */
            aload 5 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable t1
        70: .line 5130
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
            goto 75
        71: .line 5129
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        72: .line 5130
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        73: .line 5131
            aload 6
            athrow
        74: .line 5130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.IndexWriter.filesToCommit:Ljava/util/Collection;
        75: .line 5119
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        76: goto 79
      StackMap locals:
      StackMap stack: java.lang.Throwable
        77: aload 4
            monitorexit
        78: athrow
        79: .line 5134
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
        80: .line 5135
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int
      StackMap stack: java.lang.Throwable
            astore 7
        81: .line 5136
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        82: .line 5141
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGeneration:(Lorg/apache/lucene/index/SegmentInfos;)V
        83: .line 5136
            aload 8
            monitorexit
        84: goto 87
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int top top top top java.lang.Throwable org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        85: aload 8
            monitorexit
        86: athrow
        87: .line 5143
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        88: .line 5136
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        89: .line 5141
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* toSync */
            invokevirtual org.apache.lucene.index.SegmentInfos.updateGeneration:(Lorg/apache/lucene/index/SegmentInfos;)V
        90: .line 5136
            aload 8
            monitorexit
        91: goto 97
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int top top top top top org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        92: aload 8
            monitorexit
        93: athrow
        end local 2 // boolean pendingCommitSet
        94: .line 5144
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos
      StackMap stack: java.lang.VirtualMachineError
            astore 2 /* tragedy */
        start local 2 // java.lang.VirtualMachineError tragedy
        95: .line 5145
            aload 0 /* this */
            aload 2 /* tragedy */
            ldc "startCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.tragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
        96: .line 5146
            aload 2 /* tragedy */
            athrow
        end local 2 // java.lang.VirtualMachineError tragedy
        97: .line 5148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "finishStartCommit"
            invokevirtual org.apache.lucene.index.IndexWriter.testPoint:(Ljava/lang/String;)V
        98: .line 5149
            return
        end local 1 // org.apache.lucene.index.SegmentInfos toSync
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   99     0              this  Lorg/apache/lucene/index/IndexWriter;
            0   99     1            toSync  Lorg/apache/lucene/index/SegmentInfos;
           29   94     2  pendingCommitSet  Z
           43   60     3           success  Z
           44   47     4       filesToSync  Ljava/util/Collection<Ljava/lang/String;>;
           53   60     4       filesToSync  Ljava/util/Collection<Ljava/lang/String;>;
           62   80     3                 t  Ljava/lang/Throwable;
           69   70     5                t1  Ljava/lang/Throwable;
           95   97     2           tragedy  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
          12    14      14  any
           7    19      25  any
          20    24      25  any
          25    26      25  any
          31    39      40  any
          40    41      40  any
          43    47      47  any
          29    60      61  Class java.lang.Throwable
          66    67      68  Class java.lang.Throwable
          66    70      71  any
          63    76      77  any
          77    78      77  any
          29    80      80  any
          82    84      85  any
          85    86      85  any
          89    91      92  any
          92    93      92  any
           4    19      94  Class java.lang.VirtualMachineError
          20    94      94  Class java.lang.VirtualMachineError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      toSync  final

  private void onTragicEvent(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Throwable tragedy
        start local 2 // java.lang.String location
         0: .line 5182
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 1 /* tragedy */
            instanceof org.apache.lucene.index.MergePolicy$MergeAbortedException
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5184
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 1 /* tragedy */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 5186
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "hit tragic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tragedy */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " inside "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 5188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 1 /* tragedy */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 5189
            return
        end local 2 // java.lang.String location
        end local 1 // java.lang.Throwable tragedy
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1   tragedy  Ljava/lang/Throwable;
            0    6     2  location  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      tragedy   
      location  

  private void tragicEvent(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.Throwable tragedy
        start local 2 // java.lang.String location
         0: .line 5197
            aload 0 /* this */
            aload 1 /* tragedy */
            aload 2 /* location */
            invokevirtual org.apache.lucene.index.IndexWriter.onTragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         1: .line 5198
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3
         3: .line 5199
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
         4: .line 5200
            aload 3
            athrow
         5: .line 5199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.maybeCloseOnTragicEvent:()V
         6: .line 5201
            return
        end local 2 // java.lang.String location
        end local 1 // java.lang.Throwable tragedy
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/lucene/index/IndexWriter;
            0    7     1   tragedy  Ljava/lang/Throwable;
            0    7     2  location  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      tragedy   
      location  

  private void maybeCloseOnTragicEvent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5205
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5206
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.fullFlushLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 4
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.shouldClose:(Z)Z
            ifeq 4
         3: .line 5209
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.rollbackInternal:()V
         4: .line 5211
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  public java.lang.Throwable getTragicException();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5217
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5222
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closing:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  private void testPoint(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.lang.String message
         0: .line 5237
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.enableTestPoints:Z
            ifeq 3
         1: .line 5238
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "TP"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "TP"
            aload 1 /* message */
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 5241
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  synchronized boolean nrtIsCurrent(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos infos
         0: .line 5244
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 5245
            aload 1 /* infos */
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            lcmp
            ifne 6
         2: .line 5246
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.anyChanges:()Z
            ifne 6
         3: .line 5247
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.any:()Z
            ifne 6
         4: .line 5248
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.anyDocValuesChanges:()Z
            ifne 6
         5: .line 5245
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* isCurrent */
        start local 2 // boolean isCurrent
         8: .line 5249
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 5250
            iload 2 /* isCurrent */
            ifne 13
        10: .line 5251
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "nrtIsCurrent: infoVersion matches: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* infos */
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            lcmp
            ifne 11
            iconst_1
            goto 12
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder
        11: iconst_0
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.SegmentInfos int
      StackMap stack: org.apache.lucene.util.InfoStream java.lang.String java.lang.StringBuilder int
        12: invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc "; DW changes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.anyChanges:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc "; BD changes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.any:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 5254
      StackMap locals:
      StackMap stack:
            iload 2 /* isCurrent */
            ireturn
        end local 2 // boolean isCurrent
        end local 1 // org.apache.lucene.index.SegmentInfos infos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/apache/lucene/index/IndexWriter;
            0   14     1      infos  Lorg/apache/lucene/index/SegmentInfos;
            8   14     2  isCurrent  Z
    MethodParameters:
       Name  Flags
      infos  

  synchronized boolean isClosed();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5258
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.closed:Z
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  boolean isDeleterClosed();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5262
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.isClosed:()Z
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public synchronized void deleteUnusedFiles();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5293
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 5294
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.revisitPolicy:()V
         2: .line 5295
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  static void createCompoundFile(org.apache.lucene.util.InfoStream, org.apache.lucene.store.TrackingDirectoryWrapper, org.apache.lucene.index.SegmentInfo, org.apache.lucene.store.IOContext, org.apache.lucene.util.IOUtils$IOConsumer<java.util.Collection<java.lang.String>>);
    descriptor: (Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/TrackingDirectoryWrapper;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.apache.lucene.util.InfoStream infoStream
        start local 1 // org.apache.lucene.store.TrackingDirectoryWrapper directory
        start local 2 // org.apache.lucene.index.SegmentInfo info
        start local 3 // org.apache.lucene.store.IOContext context
        start local 4 // org.apache.lucene.util.IOUtils$IOConsumer deleteFiles
         0: .line 5306
            aload 1 /* directory */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 2
         1: .line 5307
            new java.lang.IllegalStateException
            dup
            ldc "pass a clean trackingdir for CFS creation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 5310
      StackMap locals:
      StackMap stack:
            aload 0 /* infoStream */
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 5311
            aload 0 /* infoStream */
            ldc "IW"
            ldc "create compound file"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 5314
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* success */
        start local 5 // boolean success
         5: .line 5316
            aload 2 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfo.getCodec:()Lorg/apache/lucene/codecs/Codec;
            invokevirtual org.apache.lucene.codecs.Codec.compoundFormat:()Lorg/apache/lucene/codecs/CompoundFormat;
            aload 1 /* directory */
            aload 2 /* info */
            aload 3 /* context */
            invokevirtual org.apache.lucene.codecs.CompoundFormat.write:(Lorg/apache/lucene/store/Directory;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;)V
         6: .line 5317
            iconst_1
            istore 5 /* success */
         7: .line 5318
            goto 12
      StackMap locals: org.apache.lucene.util.InfoStream org.apache.lucene.store.TrackingDirectoryWrapper org.apache.lucene.index.SegmentInfo org.apache.lucene.store.IOContext org.apache.lucene.util.IOUtils$IOConsumer int
      StackMap stack: java.lang.Throwable
         8: astore 6
         9: .line 5319
            iload 5 /* success */
            ifne 11
        10: .line 5321
            aload 4 /* deleteFiles */
            aload 1 /* directory */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokeinterface org.apache.lucene.util.IOUtils$IOConsumer.accept:(Ljava/lang/Object;)V
        11: .line 5323
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        12: .line 5319
      StackMap locals:
      StackMap stack:
            iload 5 /* success */
            ifne 14
        13: .line 5321
            aload 4 /* deleteFiles */
            aload 1 /* directory */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokeinterface org.apache.lucene.util.IOUtils$IOConsumer.accept:(Ljava/lang/Object;)V
        14: .line 5326
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            new java.util.HashSet
            dup
            aload 1 /* directory */
            invokevirtual org.apache.lucene.store.TrackingDirectoryWrapper.getCreatedFiles:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual org.apache.lucene.index.SegmentInfo.setFiles:(Ljava/util/Collection;)V
        15: .line 5327
            return
        end local 5 // boolean success
        end local 4 // org.apache.lucene.util.IOUtils$IOConsumer deleteFiles
        end local 3 // org.apache.lucene.store.IOContext context
        end local 2 // org.apache.lucene.index.SegmentInfo info
        end local 1 // org.apache.lucene.store.TrackingDirectoryWrapper directory
        end local 0 // org.apache.lucene.util.InfoStream infoStream
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0   infoStream  Lorg/apache/lucene/util/InfoStream;
            0   16     1    directory  Lorg/apache/lucene/store/TrackingDirectoryWrapper;
            0   16     2         info  Lorg/apache/lucene/index/SegmentInfo;
            0   16     3      context  Lorg/apache/lucene/store/IOContext;
            0   16     4  deleteFiles  Lorg/apache/lucene/util/IOUtils$IOConsumer<Ljava/util/Collection<Ljava/lang/String;>;>;
            5   16     5      success  Z
      Exception table:
        from    to  target  type
           5     8       8  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/util/InfoStream;Lorg/apache/lucene/store/TrackingDirectoryWrapper;Lorg/apache/lucene/index/SegmentInfo;Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/util/IOUtils$IOConsumer<Ljava/util/Collection<Ljava/lang/String;>;>;)V
    MethodParameters:
             Name  Flags
      infoStream   
      directory    
      info         final
      context      
      deleteFiles  

  private synchronized void deleteNewFiles(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.util.Collection files
         0: .line 5336
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 1 /* files */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.deleteNewFiles:(Ljava/util/Collection;)V
         1: .line 5337
            return
        end local 1 // java.util.Collection files
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  files  Ljava/util/Collection<Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
       Name  Flags
      files  

  private synchronized void flushFailed(org.apache.lucene.index.SegmentInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentInfo;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfo info
         0: .line 5345
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentInfo.files:()Ljava/util/Set;
            astore 2 /* files */
        start local 2 // java.util.Collection files
         1: .line 5346
            goto 4
        end local 2 // java.util.Collection files
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: pop
         3: .line 5348
            aconst_null
            astore 2 /* files */
        start local 2 // java.util.Collection files
         4: .line 5350
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 2 /* files */
            ifnull 6
         5: .line 5351
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 2 /* files */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.deleteNewFiles:(Ljava/util/Collection;)V
         6: .line 5353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection files
        end local 1 // org.apache.lucene.index.SegmentInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    7     1   info  Lorg/apache/lucene/index/SegmentInfo;
            1    2     2  files  Ljava/util/Collection<Ljava/lang/String;>;
            4    7     2  files  Ljava/util/Collection<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalStateException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      info  

  private void publishFlushedSegments(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean forced
         0: .line 5365
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            iload 1 /* forced */
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.lambda$30(Lorg/apache/lucene/index/DocumentsWriterFlushQueue$FlushTicket;)V (7)
                  (Lorg/apache/lucene/index/DocumentsWriterFlushQueue$FlushTicket;)V
            invokevirtual org.apache.lucene.index.DocumentsWriter.purgeFlushTickets:(ZLorg/apache/lucene/util/IOUtils$IOConsumer;)V
         1: .line 5389
            return
        end local 1 // boolean forced
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  forced  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      forced  

  public synchronized void incRefDeleter(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos segmentInfos
         0: .line 5395
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 5396
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 1 /* segmentInfos */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexFileDeleter.incRef:(Lorg/apache/lucene/index/SegmentInfos;Z)V
         2: .line 5397
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 5398
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "incRefDeleter for NRT reader version="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* segmentInfos */
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " segments="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* segmentInfos */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 5400
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.SegmentInfos segmentInfos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  segmentInfos  Lorg/apache/lucene/index/SegmentInfos;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      segmentInfos  

  public synchronized void decRefDeleter(org.apache.lucene.index.SegmentInfos);
    descriptor: (Lorg/apache/lucene/index/SegmentInfos;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentInfos segmentInfos
         0: .line 5407
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 5408
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 1 /* segmentInfos */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Lorg/apache/lucene/index/SegmentInfos;)V
         2: .line 5409
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 5410
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "decRefDeleter for NRT reader version="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* segmentInfos */
            invokevirtual org.apache.lucene.index.SegmentInfos.getVersion:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " segments="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* segmentInfos */
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 5412
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.SegmentInfos segmentInfos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  segmentInfos  Lorg/apache/lucene/index/SegmentInfos;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      segmentInfos  

  private long maybeProcessEvents(long);
    descriptor: (J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long seqNo
         0: .line 5420
            lload 1 /* seqNo */
            lconst_0
            lcmp
            ifge 3
         1: .line 5421
            lload 1 /* seqNo */
            lneg
            lstore 1 /* seqNo */
         2: .line 5422
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.processEvents:(Z)V
         3: .line 5424
      StackMap locals:
      StackMap stack:
            lload 1 /* seqNo */
            lreturn
        end local 1 // long seqNo
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1  seqNo  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      seqNo  

  private void processEvents(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // boolean triggerMerge
         0: .line 5428
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.tragedy:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnonnull 2
         1: .line 5429
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.eventQueue:Lorg/apache/lucene/index/IndexWriter$EventQueue;
            invokevirtual org.apache.lucene.index.IndexWriter$EventQueue.processEvents:()V
         2: .line 5431
      StackMap locals:
      StackMap stack:
            iload 1 /* triggerMerge */
            ifeq 4
         3: .line 5432
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.getConfig:()Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            getstatic org.apache.lucene.index.MergeTrigger.SEGMENT_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            iconst_m1
            invokevirtual org.apache.lucene.index.IndexWriter.maybeMerge:(Lorg/apache/lucene/index/MergePolicy;Lorg/apache/lucene/index/MergeTrigger;I)V
         4: .line 5434
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean triggerMerge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  triggerMerge  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      triggerMerge  

  private void reserveDocs(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long addedNumDocs
         0: .line 5460
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            lload 1 /* addedNumDocs */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* addedNumDocs */
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            getstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
            i2l
            lcmp
            ifle 4
         2: .line 5463
            aload 0 /* this */
            lload 1 /* addedNumDocs */
            lneg
            invokevirtual org.apache.lucene.index.IndexWriter.adjustPendingNumDocs:(J)J
            pop2
         3: .line 5464
            aload 0 /* this */
            lload 1 /* addedNumDocs */
            invokevirtual org.apache.lucene.index.IndexWriter.tooManyDocs:(J)V
         4: .line 5466
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long addedNumDocs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  addedNumDocs  J
    MethodParameters:
              Name  Flags
      addedNumDocs  

  private void testReserveDocs(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long addedNumDocs
         0: .line 5472
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            lload 1 /* addedNumDocs */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lload 1 /* addedNumDocs */
            ladd
            getstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
            i2l
            lcmp
            ifle 3
         2: .line 5474
            aload 0 /* this */
            lload 1 /* addedNumDocs */
            invokevirtual org.apache.lucene.index.IndexWriter.tooManyDocs:(J)V
         3: .line 5476
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long addedNumDocs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    4     1  addedNumDocs  J
    MethodParameters:
              Name  Flags
      addedNumDocs  

  private void tooManyDocs(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long addedNumDocs
         0: .line 5479
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            lload 1 /* addedNumDocs */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5480
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "number of documents in the index cannot exceed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.lucene.index.IndexWriter.actualMaxDocs:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (current document count is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "; added numDocs is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* addedNumDocs */
            invokevirtual java.lang.StringBuilder.append:(J)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
        end local 1 // long addedNumDocs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  addedNumDocs  J
    MethodParameters:
              Name  Flags
      addedNumDocs  

  public long getPendingNumDocs();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5488
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public long getMaxCompletedSequenceNumber();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5497
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 5498
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getMaxCompletedSequenceNumber:()J
            lreturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;

  private long adjustPendingNumDocs(long);
    descriptor: (J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // long numDocs
         0: .line 5502
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingNumDocs:Ljava/util/concurrent/atomic/AtomicLong;
            lload 1 /* numDocs */
            invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
            lstore 3 /* count */
        start local 3 // long count
         1: .line 5503
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            lload 3 /* count */
            lconst_0
            lcmp
            ifge 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "pendingNumDocs is negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* count */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 5504
      StackMap locals: long
      StackMap stack:
            lload 3 /* count */
            lreturn
        end local 3 // long count
        end local 1 // long numDocs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  numDocs  J
            1    3     3    count  J
    MethodParameters:
         Name  Flags
      numDocs  

  final boolean isFullyDeleted(org.apache.lucene.index.ReadersAndUpdates);
    descriptor: (Lorg/apache/lucene/index/ReadersAndUpdates;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
         0: .line 5508
            aload 1 /* readersAndUpdates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.isFullyDeleted:()Z
            ifeq 4
         1: .line 5509
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5510
      StackMap locals:
      StackMap stack:
            aload 1 /* readersAndUpdates */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.keepFullyDeletedSegment:(Lorg/apache/lucene/index/MergePolicy;)Z
            ifeq 3
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
         4: .line 5512
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  readersAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      readersAndUpdates  

  public final int numDeletesToMerge(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 5523
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 5524
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.validate:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
         2: .line 5525
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.config:Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            astore 2 /* mergePolicy */
        start local 2 // org.apache.lucene.index.MergePolicy mergePolicy
         3: .line 5526
            aload 0 /* this */
            aload 1 /* info */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 3 /* rld */
        start local 3 // org.apache.lucene.index.ReadersAndUpdates rld
         4: .line 5528
            aload 3 /* rld */
            ifnull 7
         5: .line 5529
            aload 3 /* rld */
            aload 2 /* mergePolicy */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.numDeletesToMerge:(Lorg/apache/lucene/index/MergePolicy;)I
            istore 4 /* numDeletesToMerge */
        start local 4 // int numDeletesToMerge
         6: .line 5530
            goto 8
        end local 4 // int numDeletesToMerge
         7: .line 5532
      StackMap locals: org.apache.lucene.index.MergePolicy org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            aload 1 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getDelCount:()I
            istore 4 /* numDeletesToMerge */
        start local 4 // int numDeletesToMerge
         8: .line 5534
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 10
            iload 4 /* numDeletesToMerge */
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmple 10
            new java.lang.AssertionError
            dup
         9: .line 5535
            new java.lang.StringBuilder
            dup
            ldc "numDeletesToMerge: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* numDeletesToMerge */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " > maxDoc: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* 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
        10: .line 5536
      StackMap locals:
      StackMap stack:
            iload 4 /* numDeletesToMerge */
            ireturn
        end local 4 // int numDeletesToMerge
        end local 3 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 2 // org.apache.lucene.index.MergePolicy mergePolicy
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/apache/lucene/index/IndexWriter;
            0   11     1               info  Lorg/apache/lucene/index/SegmentCommitInfo;
            3   11     2        mergePolicy  Lorg/apache/lucene/index/MergePolicy;
            4   11     3                rld  Lorg/apache/lucene/index/ReadersAndUpdates;
            6    7     4  numDeletesToMerge  I
            8   11     4  numDeletesToMerge  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      info  

  void release(org.apache.lucene.index.ReadersAndUpdates);
    descriptor: (Lorg/apache/lucene/index/ReadersAndUpdates;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
         0: .line 5540
            aload 0 /* this */
            aload 1 /* readersAndUpdates */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;Z)V
         1: .line 5541
            return
        end local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1  readersAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      readersAndUpdates  

  private void release(org.apache.lucene.index.ReadersAndUpdates, boolean);
    descriptor: (Lorg/apache/lucene/index/ReadersAndUpdates;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        start local 2 // boolean assertLiveInfo
         0: .line 5544
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* readersAndUpdates */
            iload 2 /* assertLiveInfo */
            invokevirtual org.apache.lucene.index.ReaderPool.release:(Lorg/apache/lucene/index/ReadersAndUpdates;Z)Z
            ifeq 4
         2: .line 5547
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 5548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpointNoSIS:()V
         4: .line 5550
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean assertLiveInfo
        end local 1 // org.apache.lucene.index.ReadersAndUpdates readersAndUpdates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  readersAndUpdates  Lorg/apache/lucene/index/ReadersAndUpdates;
            0    5     2     assertLiveInfo  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      readersAndUpdates  
      assertLiveInfo     

  org.apache.lucene.index.ReadersAndUpdates getPooledInstance(org.apache.lucene.index.SegmentCommitInfo, boolean);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
        start local 2 // boolean create
         0: .line 5553
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:(Z)V
         1: .line 5554
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 1 /* info */
            iload 2 /* create */
            invokevirtual org.apache.lucene.index.ReaderPool.get:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            areturn
        end local 2 // boolean create
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1    info  Lorg/apache/lucene/index/SegmentCommitInfo;
            0    2     2  create  Z
    MethodParameters:
        Name  Flags
      info    
      create  

  final boolean tryApply(org.apache.lucene.index.FrozenBufferedUpdates);
    descriptor: (Lorg/apache/lucene/index/FrozenBufferedUpdates;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
         0: .line 5568
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.tryLock:()Z
            ifeq 7
         1: .line 5570
            aload 0 /* this */
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.IndexWriter.forceApply:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)V
         2: .line 5573
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.unlock:()V
         3: .line 5571
            iconst_1
            ireturn
         4: .line 5572
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 5573
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.unlock:()V
         6: .line 5574
            aload 2
            athrow
         7: .line 5576
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    8     1  updates  Lorg/apache/lucene/index/FrozenBufferedUpdates;
      Exception table:
        from    to  target  type
           1     2       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      updates  

  final void forceApply(org.apache.lucene.index.FrozenBufferedUpdates);
    descriptor: (Lorg/apache/lucene/index/FrozenBufferedUpdates;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=11, locals=24, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
         0: .line 5585
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.lock:()V
         1: .line 5587
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.isApplied:()Z
            ifeq 4
         2: .line 5729
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.unlock:()V
         3: .line 5589
            return
         4: .line 5591
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* startNS */
        start local 2 // long startNS
         5: .line 5593
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 6
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 5595
      StackMap locals: long
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* seenSegments */
        start local 4 // java.util.Set seenSegments
         7: .line 5597
            iconst_0
            istore 5 /* iter */
        start local 5 // int iter
         8: .line 5598
            iconst_0
            istore 6 /* totalSegmentCount */
        start local 6 // int totalSegmentCount
         9: .line 5599
            lconst_0
            lstore 7 /* totalDelCount */
        start local 7 // long totalDelCount
        10: .line 5601
            iconst_0
            istore 9 /* finished */
        start local 9 // boolean finished
        11: .line 5608
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int
      StackMap stack:
            iload 5 /* iter */
            ifne 14
        12: .line 5609
            ldc ""
            astore 10 /* messagePrefix */
        start local 10 // java.lang.String messagePrefix
        13: .line 5610
            goto 15
        end local 10 // java.lang.String messagePrefix
        14: .line 5611
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "iter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* iter */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* messagePrefix */
        start local 10 // java.lang.String messagePrefix
        15: .line 5614
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 11 /* iterStartNS */
        start local 11 // long iterStartNS
        16: .line 5616
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeFinishedGen:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 13 /* mergeGenStart */
        start local 13 // long mergeGenStart
        17: .line 5618
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 15 /* delFiles */
        start local 15 // java.util.Set delFiles
        18: .line 5621
            aload 0 /* this */
            dup
            astore 17
            monitorenter
        19: .line 5622
            aload 0 /* this */
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.IndexWriter.getInfosToApply:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)Ljava/util/List;
            astore 18 /* infos */
        start local 18 // java.util.List infos
        20: .line 5623
            aload 18 /* infos */
            ifnonnull 23
        21: .line 5624
            aload 17
            monitorexit
        22: goto 80
        23: .line 5627
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set top org.apache.lucene.index.IndexWriter java.util.List
      StackMap stack:
            aload 18 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 26
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set top org.apache.lucene.index.IndexWriter java.util.List top java.util.Iterator
      StackMap stack:
        24: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 19 /* info */
        start local 19 // org.apache.lucene.index.SegmentCommitInfo info
        25: .line 5628
            aload 15 /* delFiles */
            aload 19 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 19 // org.apache.lucene.index.SegmentCommitInfo info
        26: .line 5627
      StackMap locals:
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        27: .line 5633
            aload 0 /* this */
            aload 18 /* infos */
            aload 4 /* seenSegments */
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.delGen:()J
            invokevirtual org.apache.lucene.index.IndexWriter.openSegmentStates:(Ljava/util/List;Ljava/util/Set;J)[Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
            astore 16 /* segStates */
        start local 16 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        28: .line 5635
            aload 16 /* segStates */
            arraylength
            ifne 33
        29: .line 5637
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 31
        30: .line 5638
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            ldc "packet matches no segments"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 5640
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] org.apache.lucene.index.IndexWriter java.util.List
      StackMap stack:
            aload 17
            monitorexit
        32: goto 80
        33: .line 5643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 38
        34: .line 5644
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
        35: .line 5645
            new java.lang.StringBuilder
            dup
            aload 10 /* messagePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "now apply del packet (%s) to %d segments, mergeGen %d"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        36: .line 5646
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 16 /* segStates */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            lload 13 /* mergeGenStart */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        37: .line 5644
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 5649
      StackMap locals:
      StackMap stack:
            iload 6 /* totalSegmentCount */
            aload 16 /* segStates */
            arraylength
            iadd
            istore 6 /* totalSegmentCount */
        39: .line 5653
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 15 /* delFiles */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.incRef:(Ljava/util/Collection;)V
        end local 18 // java.util.List infos
        40: .line 5621
            aload 17
            monitorexit
        41: goto 44
        end local 16 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set top org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
        42: aload 17
            monitorexit
        43: athrow
        start local 16 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        44: .line 5656
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set org.apache.lucene.index.BufferedUpdatesStream$SegmentState[]
      StackMap stack:
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            astore 17 /* success */
        start local 17 // java.util.concurrent.atomic.AtomicBoolean success
        45: .line 5658
            aconst_null
            astore 20
            aconst_null
            astore 21
        46: aload 0 /* this */
            aload 16 /* segStates */
            aload 17 /* success */
            aload 15 /* delFiles */
            invokedynamic close(Lorg/apache/lucene/index/IndexWriter;[Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Set;)Ljava/io/Closeable;
              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:
                  ()V
                  org/apache/lucene/index/IndexWriter.lambda$31([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Set;)V (7)
                  ()V
            astore 22 /* finalizer */
        start local 22 // java.io.Closeable finalizer
        47: .line 5659
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 48
            aload 22 /* finalizer */
            ifnonnull 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 5661
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] java.util.concurrent.atomic.AtomicBoolean top top java.lang.Throwable java.lang.Throwable java.io.Closeable
      StackMap stack:
            aload 1 /* updates */
            aload 16 /* segStates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.apply:([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;)J
            lstore 18 /* delCount */
        start local 18 // long delCount
        49: .line 5662
            aload 17 /* success */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        50: .line 5663
            aload 22 /* finalizer */
            ifnull 56
            aload 22 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
            goto 56
        end local 18 // long delCount
      StackMap locals:
      StackMap stack: java.lang.Throwable
        51: astore 20
            aload 22 /* finalizer */
            ifnull 52
            aload 22 /* finalizer */
            invokeinterface java.io.Closeable.close:()V
        end local 22 // java.io.Closeable finalizer
      StackMap locals:
      StackMap stack:
        52: aload 20
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 21
            aload 20
            ifnonnull 54
            aload 21
            astore 20
            goto 55
      StackMap locals:
      StackMap stack:
        54: aload 20
            aload 21
            if_acmpeq 55
            aload 20
            aload 21
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        55: aload 20
            athrow
        start local 18 // long delCount
        56: .line 5666
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int java.lang.String long long java.util.Set org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] java.util.concurrent.atomic.AtomicBoolean long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.writeSomeDocValuesUpdates:()V
        57: .line 5670
            lload 7 /* totalDelCount */
            lload 18 /* delCount */
            ladd
            lstore 7 /* totalDelCount */
        58: .line 5672
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 63
        59: .line 5673
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
        60: .line 5674
            new java.lang.StringBuilder
            dup
            aload 10 /* messagePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "done inner apply del packet (%s) to %d segments; %d new deletes/updates; took %.3f sec"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        61: .line 5675
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 16 /* segStates */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            lload 18 /* delCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            invokestatic java.lang.System.nanoTime:()J
            lload 11 /* iterStartNS */
            lsub
            l2d
            ldc 1.0E9
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        62: .line 5673
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        63: .line 5677
      StackMap locals:
      StackMap stack:
            aload 1 /* updates */
            getfield org.apache.lucene.index.FrozenBufferedUpdates.privateSegment:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 65
        64: .line 5681
            goto 80
        65: .line 5686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 20
            monitorenter
        66: .line 5687
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.mergeFinishedGen:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 21 /* mergeGenCur */
        start local 21 // long mergeGenCur
        67: .line 5689
            lload 21 /* mergeGenCur */
            lload 13 /* mergeGenStart */
            lcmp
            ifne 72
        68: .line 5694
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.finished:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)V
        69: .line 5696
            iconst_1
            istore 9 /* finished */
        70: .line 5699
            aload 20
            monitorexit
        71: goto 80
        end local 21 // long mergeGenCur
        72: .line 5686
      StackMap locals: org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 20
            monitorexit
        73: goto 76
      StackMap locals:
      StackMap stack: java.lang.Throwable
        74: aload 20
            monitorexit
        75: athrow
        76: .line 5703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 78
        77: .line 5704
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            new java.lang.StringBuilder
            dup
            aload 10 /* messagePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "concurrent merges finished; move to next iter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        78: .line 5710
      StackMap locals:
      StackMap stack:
            iinc 5 /* iter */ 1
        end local 18 // long delCount
        end local 17 // java.util.concurrent.atomic.AtomicBoolean success
        end local 16 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        end local 15 // java.util.Set delFiles
        end local 13 // long mergeGenStart
        end local 11 // long iterStartNS
        end local 10 // java.lang.String messagePrefix
        79: .line 5606
            goto 11
        80: .line 5713
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates long java.util.Set int int long int
      StackMap stack:
            iload 9 /* finished */
            ifne 82
        81: .line 5715
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.finished:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)V
        82: .line 5718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 95
        83: .line 5719
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
        84: .line 5720
            ldc "done apply del packet (%s) to %d segments; %d new deletes/updates; took %.3f sec"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        85: .line 5721
            aload 0 /* this */
            aastore
            dup
            iconst_1
            iload 6 /* totalSegmentCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            lload 7 /* totalDelCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            invokestatic java.lang.System.nanoTime:()J
            lload 2 /* startNS */
            lsub
            l2d
            ldc 1.0E9
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        86: .line 5719
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 10 /* message */
        start local 10 // java.lang.String message
        87: .line 5722
            iload 5 /* iter */
            ifle 89
        88: .line 5723
            new java.lang.StringBuilder
            dup
            aload 10 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* iter */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " iters due to concurrent merges"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* message */
        89: .line 5725
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.getPendingUpdatesCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " packets remain"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* message */
        90: .line 5726
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            aload 10 /* message */
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // java.lang.String message
        end local 9 // boolean finished
        end local 7 // long totalDelCount
        end local 6 // int totalSegmentCount
        end local 5 // int iter
        end local 4 // java.util.Set seenSegments
        end local 2 // long startNS
        91: .line 5728
            goto 95
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates
      StackMap stack: java.lang.Throwable
        92: astore 23
        93: .line 5729
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.unlock:()V
        94: .line 5730
            aload 23
            athrow
        95: .line 5729
      StackMap locals:
      StackMap stack:
            aload 1 /* updates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.unlock:()V
        96: .line 5731
            return
        end local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   97     0               this  Lorg/apache/lucene/index/IndexWriter;
            0   97     1            updates  Lorg/apache/lucene/index/FrozenBufferedUpdates;
            5   91     2            startNS  J
            7   91     4       seenSegments  Ljava/util/Set<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            8   91     5               iter  I
            9   91     6  totalSegmentCount  I
           10   91     7      totalDelCount  J
           11   91     9           finished  Z
           13   14    10      messagePrefix  Ljava/lang/String;
           15   79    10      messagePrefix  Ljava/lang/String;
           16   79    11        iterStartNS  J
           17   79    13      mergeGenStart  J
           18   79    15           delFiles  Ljava/util/Set<Ljava/lang/String;>;
           28   42    16          segStates  [Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
           44   79    16          segStates  [Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
           20   40    18              infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
           25   26    19               info  Lorg/apache/lucene/index/SegmentCommitInfo;
           45   79    17            success  Ljava/util/concurrent/atomic/AtomicBoolean;
           49   51    18           delCount  J
           56   79    18           delCount  J
           47   52    22          finalizer  Ljava/io/Closeable;
           67   72    21        mergeGenCur  J
           87   91    10            message  Ljava/lang/String;
      Exception table:
        from    to  target  type
          19    22      42  any
          23    32      42  any
          33    41      42  any
          42    43      42  any
          47    50      51  any
          46    53      53  any
          66    71      74  any
          72    73      74  any
          74    75      74  any
           1     2      92  any
           4    92      92  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      updates  

  private synchronized java.util.List<org.apache.lucene.index.SegmentCommitInfo> getInfosToApply(org.apache.lucene.index.FrozenBufferedUpdates);
    descriptor: (Lorg/apache/lucene/index/FrozenBufferedUpdates;)Ljava/util/List;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
         0: .line 5737
            aload 1 /* updates */
            getfield org.apache.lucene.index.FrozenBufferedUpdates.privateSegment:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnull 8
         1: .line 5738
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            aload 1 /* updates */
            getfield org.apache.lucene.index.FrozenBufferedUpdates.privateSegment:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentInfos.contains:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            ifeq 4
         2: .line 5739
            aload 1 /* updates */
            getfield org.apache.lucene.index.FrozenBufferedUpdates.privateSegment:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* infos */
        start local 2 // java.util.List infos
         3: .line 5740
            goto 9
        end local 2 // java.util.List infos
         4: .line 5741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 5742
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            ldc "private segment already gone; skip processing updates"
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 5744
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* infos */
        start local 2 // java.util.List infos
         7: .line 5746
            goto 9
        end local 2 // java.util.List infos
         8: .line 5747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.asList:()Ljava/util/List;
            astore 2 /* infos */
        start local 2 // java.util.List infos
         9: .line 5749
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* infos */
            areturn
        end local 2 // java.util.List infos
        end local 1 // org.apache.lucene.index.FrozenBufferedUpdates updates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/apache/lucene/index/IndexWriter;
            0   10     1  updates  Lorg/apache/lucene/index/FrozenBufferedUpdates;
            3    4     2    infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            7    8     2    infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            9   10     2    infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
    Signature: (Lorg/apache/lucene/index/FrozenBufferedUpdates;)Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
    MethodParameters:
         Name  Flags
      updates  

  private void finishApply(org.apache.lucene.index.BufferedUpdatesStream$SegmentState[], boolean, java.util.Set<java.lang.String>);
    descriptor: ([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;ZLjava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        start local 2 // boolean success
        start local 3 // java.util.Set delFiles
         0: .line 5754
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 5758
            aload 0 /* this */
            aload 1 /* segStates */
            iload 2 /* success */
            invokevirtual org.apache.lucene.index.IndexWriter.closeSegmentStates:([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;Z)Lorg/apache/lucene/index/BufferedUpdatesStream$ApplyDeletesResult;
            astore 5 /* result */
        start local 5 // org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult result
         2: .line 5759
            goto 6
        end local 5 // org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult result
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.Set org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
         3: astore 6
         4: .line 5762
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 3 /* delFiles */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
         5: .line 5763
            aload 6
            athrow
        start local 5 // org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult result
         6: .line 5762
      StackMap locals: org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 3 /* delFiles */
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
         7: .line 5765
            aload 5 /* result */
            getfield org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult.anyDeletes:Z
            ifeq 10
         8: .line 5766
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.maybeMerge:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         9: .line 5767
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        10: .line 5770
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            getfield org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult.allDeleted:Ljava/util/List;
            ifnull 18
        11: .line 5771
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 5772
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "drop 100% deleted segments: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 5 /* result */
            getfield org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult.allDeleted:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 5774
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            getfield org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult.allDeleted:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.Set org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 6 /* info */
        start local 6 // org.apache.lucene.index.SegmentCommitInfo info
        15: .line 5775
            aload 0 /* this */
            aload 6 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.dropDeletedSegment:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
        end local 6 // org.apache.lucene.index.SegmentCommitInfo info
        16: .line 5774
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 5777
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
        end local 5 // org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult result
        18: .line 5754
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.Set org.apache.lucene.index.IndexWriter
      StackMap stack:
            aload 4
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 4
            monitorexit
        21: athrow
        22: .line 5780
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set delFiles
        end local 2 // boolean success
        end local 1 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/apache/lucene/index/IndexWriter;
            0   23     1  segStates  [Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
            0   23     2    success  Z
            0   23     3   delFiles  Ljava/util/Set<Ljava/lang/String;>;
            2    3     5     result  Lorg/apache/lucene/index/BufferedUpdatesStream$ApplyDeletesResult;
            6   18     5     result  Lorg/apache/lucene/index/BufferedUpdatesStream$ApplyDeletesResult;
           15   16     6       info  Lorg/apache/lucene/index/SegmentCommitInfo;
      Exception table:
        from    to  target  type
           1     3       3  any
           1    19      20  any
          20    21      20  any
    Exceptions:
      throws java.io.IOException
    Signature: ([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;ZLjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      segStates  
      success    
      delFiles   

  private org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult closeSegmentStates(org.apache.lucene.index.BufferedUpdatesStream$SegmentState[], boolean);
    descriptor: ([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;Z)Lorg/apache/lucene/index/BufferedUpdatesStream$ApplyDeletesResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        start local 2 // boolean success
         0: .line 5784
            aconst_null
            astore 3 /* allDeleted */
        start local 3 // java.util.List allDeleted
         1: .line 5785
            lconst_0
            lstore 4 /* totDelCount */
        start local 4 // long totDelCount
         2: .line 5787
            aload 1 /* segStates */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long top int int org.apache.lucene.index.BufferedUpdatesStream$SegmentState[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* segState */
        start local 6 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState segState
         4: .line 5788
            iload 2 /* success */
            ifeq 12
         5: .line 5789
            lload 4 /* totDelCount */
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.rld:Lorg/apache/lucene/index/ReadersAndUpdates;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getDelCount:()I
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.startDelCount:I
            isub
            i2l
            ladd
            lstore 4 /* totDelCount */
         6: .line 5790
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.rld:Lorg/apache/lucene/index/ReadersAndUpdates;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getDelCount:()I
            istore 10 /* fullDelCount */
        start local 10 // int fullDelCount
         7: .line 5791
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 8
            iload 10 /* fullDelCount */
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.rld:Lorg/apache/lucene/index/ReadersAndUpdates;
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            if_icmple 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            iload 10 /* fullDelCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.rld:Lorg/apache/lucene/index/ReadersAndUpdates;
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            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
         8: .line 5792
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long org.apache.lucene.index.BufferedUpdatesStream$SegmentState int int org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int
      StackMap stack:
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.rld:Lorg/apache/lucene/index/ReadersAndUpdates;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.isFullyDeleted:()Z
            ifeq 12
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.getConfig:()Lorg/apache/lucene/index/LiveIndexWriterConfig;
            invokevirtual org.apache.lucene.index.LiveIndexWriterConfig.getMergePolicy:()Lorg/apache/lucene/index/MergePolicy;
            aload 6 /* segState */
            invokedynamic get(Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;)Lorg/apache/lucene/util/IOSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/lucene/index/IndexWriter.lambda$32(Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;)Lorg/apache/lucene/index/CodecReader; (6)
                  ()Lorg/apache/lucene/index/CodecReader;
            invokevirtual org.apache.lucene.index.MergePolicy.keepFullyDeletedSegment:(Lorg/apache/lucene/util/IOSupplier;)Z
            ifne 12
         9: .line 5793
            aload 3 /* allDeleted */
            ifnonnull 11
        10: .line 5794
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* allDeleted */
        11: .line 5796
      StackMap locals:
      StackMap stack:
            aload 3 /* allDeleted */
            aload 6 /* segState */
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.reader:Lorg/apache/lucene/index/SegmentReader;
            invokevirtual org.apache.lucene.index.SegmentReader.getOriginalSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // int fullDelCount
        end local 6 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState segState
        12: .line 5787
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long top int int org.apache.lucene.index.BufferedUpdatesStream$SegmentState[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 3
        14: .line 5800
            goto 18
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long
      StackMap stack: java.lang.Throwable
        15: astore 11
        16: .line 5801
            aload 1 /* segStates */
            invokestatic org.apache.lucene.util.IOUtils.close:([Ljava/io/Closeable;)V
        17: .line 5802
            aload 11
            athrow
        18: .line 5801
      StackMap locals:
      StackMap stack:
            aload 1 /* segStates */
            invokestatic org.apache.lucene.util.IOUtils.close:([Ljava/io/Closeable;)V
        19: .line 5803
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 5804
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "BD"
            new java.lang.StringBuilder
            dup
            ldc "closeSegmentStates: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* totDelCount */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " new deleted documents; pool "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.getPendingUpdatesCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " packets; bytesUsed="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            invokevirtual org.apache.lucene.index.ReaderPool.ramBytesUsed:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 5807
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult
            dup
            lload 4 /* totDelCount */
            lconst_0
            lcmp
            ifle 22
            iconst_1
            goto 23
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long
      StackMap stack: new 21 new 21
        22: iconst_0
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] int java.util.List long
      StackMap stack: new 21 new 21 int
        23: aload 3 /* allDeleted */
            invokespecial org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult.<init>:(ZLjava/util/List;)V
            areturn
        end local 4 // long totDelCount
        end local 3 // java.util.List allDeleted
        end local 2 // boolean success
        end local 1 // org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] segStates
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/apache/lucene/index/IndexWriter;
            0   24     1     segStates  [Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
            0   24     2       success  Z
            1   24     3    allDeleted  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            2   24     4   totDelCount  J
            4   12     6      segState  Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
            7   12    10  fullDelCount  I
      Exception table:
        from    to  target  type
           2    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      segStates  
      success    

  private org.apache.lucene.index.BufferedUpdatesStream$SegmentState[] openSegmentStates(java.util.List<org.apache.lucene.index.SegmentCommitInfo>, java.util.Set<org.apache.lucene.index.SegmentCommitInfo>, long);
    descriptor: (Ljava/util/List;Ljava/util/Set;J)[Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // java.util.List infos
        start local 2 // java.util.Set alreadySeenSegments
        start local 3 // long delGen
         0: .line 5813
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* segStates */
        start local 5 // java.util.List segStates
         1: .line 5815
            aload 1 /* infos */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.List java.util.Set long java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 6 /* info */
        start local 6 // org.apache.lucene.index.SegmentCommitInfo info
         3: .line 5816
            aload 6 /* info */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.getBufferedDeletesGen:()J
            lload 3 /* delGen */
            lcmp
            ifgt 6
            aload 2 /* alreadySeenSegments */
            aload 6 /* info */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 5817
            aload 5 /* segStates */
            new org.apache.lucene.index.BufferedUpdatesStream$SegmentState
            dup
            aload 0 /* this */
            aload 6 /* info */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            aload 0 /* this */
            invokedynamic accept(Lorg/apache/lucene/index/IndexWriter;)Lorg/apache/lucene/util/IOUtils$IOConsumer;
              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;)V
                  org/apache/lucene/index/IndexWriter.release(Lorg/apache/lucene/index/ReadersAndUpdates;)V (5)
                  (Lorg/apache/lucene/index/ReadersAndUpdates;)V
            aload 6 /* info */
            invokespecial org.apache.lucene.index.BufferedUpdatesStream$SegmentState.<init>:(Lorg/apache/lucene/index/ReadersAndUpdates;Lorg/apache/lucene/util/IOUtils$IOConsumer;Lorg/apache/lucene/index/SegmentCommitInfo;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 5818
            aload 2 /* alreadySeenSegments */
            aload 6 /* info */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.lucene.index.SegmentCommitInfo info
         6: .line 5815
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 5821
            goto 14
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.List java.util.Set long java.util.List
      StackMap stack: java.lang.Throwable
         8: astore 6 /* t */
        start local 6 // java.lang.Throwable t
         9: .line 5823
            aload 5 /* segStates */
            invokestatic org.apache.lucene.util.IOUtils.close:(Ljava/lang/Iterable;)V
        10: .line 5824
            goto 13
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.List java.util.Set long java.util.List java.lang.Throwable
      StackMap stack: java.lang.Throwable
        11: astore 7 /* t1 */
        start local 7 // java.lang.Throwable t1
        12: .line 5825
            aload 6 /* t */
            aload 7 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable t1
        13: .line 5827
      StackMap locals:
      StackMap stack:
            aload 6 /* t */
            athrow
        end local 6 // java.lang.Throwable t
        14: .line 5830
      StackMap locals:
      StackMap stack:
            aload 5 /* segStates */
            iconst_0
            anewarray org.apache.lucene.index.BufferedUpdatesStream$SegmentState
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.lucene.index.BufferedUpdatesStream$SegmentState[]
            areturn
        end local 5 // java.util.List segStates
        end local 3 // long delGen
        end local 2 // java.util.Set alreadySeenSegments
        end local 1 // java.util.List infos
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/apache/lucene/index/IndexWriter;
            0   15     1                infos  Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            0   15     2  alreadySeenSegments  Ljava/util/Set<Lorg/apache/lucene/index/SegmentCommitInfo;>;
            0   15     3               delGen  J
            1   15     5            segStates  Ljava/util/List<Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;>;
            3    6     6                 info  Lorg/apache/lucene/index/SegmentCommitInfo;
            9   14     6                    t  Ljava/lang/Throwable;
           12   13     7                   t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.Throwable
           9    10      11  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;Ljava/util/Set<Lorg/apache/lucene/index/SegmentCommitInfo;>;J)[Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;
    MethodParameters:
                     Name  Flags
      infos                
      alreadySeenSegments  
      delGen               

  protected boolean isEnableTestPoints();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5837
            iconst_0
            ireturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  private void validate(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentCommitInfo info
         0: .line 5841
            aload 1 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.dir:Lorg/apache/lucene/store/Directory;
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.directoryOrig:Lorg/apache/lucene/store/Directory;
            if_acmpeq 2
         1: .line 5842
            new java.lang.IllegalArgumentException
            dup
            ldc "SegmentCommitInfo must be from the same directory"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 5844
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.SegmentCommitInfo info
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    3     1  info  Lorg/apache/lucene/index/SegmentCommitInfo;
    MethodParameters:
      Name  Flags
      info  

  final synchronized org.apache.lucene.index.SegmentInfos cloneSegmentInfos();
    descriptor: ()Lorg/apache/lucene/index/SegmentInfos;
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5848
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.clone:()Lorg/apache/lucene/index/SegmentInfos;
            areturn
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;

  public synchronized org.apache.lucene.index.IndexWriter$DocStats getDocStats();
    descriptor: ()Lorg/apache/lucene/index/IndexWriter$DocStats;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5856
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.ensureOpen:()V
         1: .line 5857
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.docWriter:Lorg/apache/lucene/index/DocumentsWriter;
            invokevirtual org.apache.lucene.index.DocumentsWriter.getNumDocs:()I
            istore 1 /* numDocs */
        start local 1 // int numDocs
         2: .line 5858
            iload 1 /* numDocs */
            istore 2 /* maxDoc */
        start local 2 // int maxDoc
         3: .line 5859
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.segmentInfos:Lorg/apache/lucene/index/SegmentInfos;
            invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.apache.lucene.index.IndexWriter int int top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentCommitInfo
            astore 3 /* info */
        start local 3 // org.apache.lucene.index.SegmentCommitInfo info
         5: .line 5860
            iload 2 /* maxDoc */
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            iadd
            istore 2 /* maxDoc */
         6: .line 5861
            iload 1 /* numDocs */
            aload 3 /* info */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            aload 0 /* this */
            aload 3 /* info */
            invokevirtual org.apache.lucene.index.IndexWriter.numDeletedDocs:(Lorg/apache/lucene/index/SegmentCommitInfo;)I
            isub
            iadd
            istore 1 /* numDocs */
        end local 3 // org.apache.lucene.index.SegmentCommitInfo info
         7: .line 5859
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 5863
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 9
            iload 2 /* maxDoc */
            iload 1 /* numDocs */
            if_icmpge 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxDoc is less than numDocs: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* maxDoc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " < "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* numDocs */
            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
         9: .line 5864
      StackMap locals: org.apache.lucene.index.IndexWriter int int
      StackMap stack:
            new org.apache.lucene.index.IndexWriter$DocStats
            dup
            iload 2 /* maxDoc */
            iload 1 /* numDocs */
            invokespecial org.apache.lucene.index.IndexWriter$DocStats.<init>:(II)V
            areturn
        end local 2 // int maxDoc
        end local 1 // int numDocs
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/apache/lucene/index/IndexWriter;
            2   10     1  numDocs  I
            3   10     2   maxDoc  I
            5    7     3     info  Lorg/apache/lucene/index/SegmentCommitInfo;

  static int[] $SWITCH_TABLE$org$apache$lucene$index$DocValuesType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 219
            getstatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.lucene.index.DocValuesType.values:()[Lorg/apache/lucene/index/DocValuesType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.lucene.index.DocValuesType.BINARY:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.lucene.index.DocValuesType.NONE:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.lucene.index.DocValuesType.NUMERIC:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.lucene.index.DocValuesType.SORTED:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.lucene.index.DocValuesType.SORTED_NUMERIC:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.apache.lucene.index.DocValuesType.SORTED_SET:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$lucene$index$MergeTrigger();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 219
            getstatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$MergeTrigger:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.lucene.index.MergeTrigger.values:()[Lorg/apache/lucene/index/MergeTrigger;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.CLOSING:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            bipush 6
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.EXPLICIT:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.FULL_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.GET_READER:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.MERGE_FINISHED:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.apache.lucene.index.MergeTrigger.SEGMENT_FLUSH:Lorg/apache/lucene/index/MergeTrigger;
            invokevirtual org.apache.lucene.index.MergeTrigger.ordinal:()I
            iconst_1
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$MergeTrigger:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError

  private org.apache.lucene.index.SegmentReader lambda$0(long, java.util.Map, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (JLjava/util/Map;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 4 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 568
            aload 0 /* this */
            aload 4 /* sci */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 5 /* rld */
        start local 5 // org.apache.lucene.index.ReadersAndUpdates rld
         1: .line 570
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 571
      StackMap locals: org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            aload 5 /* rld */
            getstatic org.apache.lucene.store.IOContext.READ:Lorg/apache/lucene/store/IOContext;
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getReadOnlyClone:(Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/SegmentReader;
            astore 6 /* segmentReader */
        start local 6 // org.apache.lucene.index.SegmentReader segmentReader
         3: .line 572
            lload 1
            lconst_0
            lcmp
            ifle 5
         4: .line 573
            aload 3
            aload 4 /* sci */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            aload 6 /* segmentReader */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 575
      StackMap locals: org.apache.lucene.index.SegmentReader
      StackMap stack:
            aload 6 /* segmentReader */
            astore 8
         6: .line 577
            aload 0 /* this */
            aload 5 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
         7: .line 575
            aload 8
            areturn
        end local 6 // org.apache.lucene.index.SegmentReader segmentReader
         8: .line 576
      StackMap locals: org.apache.lucene.index.IndexWriter long java.util.Map org.apache.lucene.index.SegmentCommitInfo org.apache.lucene.index.ReadersAndUpdates
      StackMap stack: java.lang.Throwable
            astore 7
         9: .line 577
            aload 0 /* this */
            aload 5 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
        10: .line 578
            aload 7
            athrow
        end local 5 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 4 // org.apache.lucene.index.SegmentCommitInfo sci
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/apache/lucene/index/IndexWriter;
            0   11     4            sci  Lorg/apache/lucene/index/SegmentCommitInfo;
            1   11     5            rld  Lorg/apache/lucene/index/ReadersAndUpdates;
            3    8     6  segmentReader  Lorg/apache/lucene/index/SegmentReader;
      Exception table:
        from    to  target  type
           1     6       8  any
    Exceptions:
      throws java.io.IOException

  private void lambda$2(java.util.concurrent.atomic.AtomicBoolean, org.apache.lucene.util.IOUtils$IOFunction, java.util.Map, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/apache/lucene/util/IOUtils$IOFunction;Ljava/util/Map;Lorg/apache/lucene/index/SegmentCommitInfo;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 4 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 645
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 1
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "illegal state  merge reader must be not pulled since we already stopped waiting for merges"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 646
      StackMap locals:
      StackMap stack:
            aload 2
            aload 4 /* sci */
            invokeinterface org.apache.lucene.util.IOUtils$IOFunction.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentReader
            astore 5 /* apply */
        start local 5 // org.apache.lucene.index.SegmentReader apply
         2: .line 647
            aload 3
            aload 4 /* sci */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            aload 5 /* apply */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 650
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 4 /* sci */
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.incRef:(Ljava/util/Collection;)V
        end local 5 // org.apache.lucene.index.SegmentReader apply
         4: .line 651
            return
        end local 4 // org.apache.lucene.index.SegmentCommitInfo sci
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    5     4    sci  Lorg/apache/lucene/index/SegmentCommitInfo;
            2    4     5  apply  Lorg/apache/lucene/index/SegmentReader;
    Exceptions:
      throws java.io.IOException

  private void lambda$3(java.util.concurrent.atomic.AtomicBoolean, java.util.Map);
    descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Map;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 656
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 657
            aload 1
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         2: .line 658
            aload 2
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lorg/apache/lucene/index/IndexWriter;)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/IndexWriter.lambda$4(Lorg/apache/lucene/index/SegmentReader;)Ljava/io/Closeable; (7)
                  (Lorg/apache/lucene/index/SegmentReader;)Ljava/io/Closeable;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 664
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.Iterable
         4: .line 658
            invokestatic org.apache.lucene.util.IOUtils.close:(Ljava/lang/Iterable;)V
         5: .line 656
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: org.apache.lucene.index.IndexWriter java.util.concurrent.atomic.AtomicBoolean java.util.Map org.apache.lucene.index.IndexWriter
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 666
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/lucene/index/IndexWriter;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws java.io.IOException

  private static org.apache.lucene.index.SegmentReader lambda$6(java.util.Map, java.util.Map, java.util.Collection, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Ljava/util/Map;Ljava/util/Map;Ljava/util/Collection;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/SegmentReader;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=4
        start local 3 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 751
            aload 0
            aload 3 /* sci */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentReader
            astore 4 /* remove */
        start local 4 // org.apache.lucene.index.SegmentReader remove
         1: .line 752
            aload 4 /* remove */
            ifnonnull 6
         2: .line 753
            aload 1
            aload 3 /* sci */
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.SegmentReader
            astore 4 /* remove */
         3: .line 754
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 4
            aload 4 /* remove */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 757
      StackMap locals: org.apache.lucene.index.SegmentReader
      StackMap stack:
            aload 4 /* remove */
            invokevirtual org.apache.lucene.index.SegmentReader.incRef:()V
         5: .line 758
            goto 7
         6: .line 759
      StackMap locals:
      StackMap stack:
            aload 2
            aload 4 /* remove */
            invokevirtual org.apache.lucene.index.SegmentReader.getSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 761
      StackMap locals:
      StackMap stack:
            aload 4 /* remove */
            areturn
        end local 4 // org.apache.lucene.index.SegmentReader remove
        end local 3 // org.apache.lucene.index.SegmentCommitInfo sci
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     3     sci  Lorg/apache/lucene/index/SegmentCommitInfo;
            1    8     4  remove  Lorg/apache/lucene/index/SegmentReader;
    Exceptions:
      throws java.io.IOException

  private void lambda$9(int, org.apache.lucene.index.ReadersAndUpdates);
    descriptor: (ILorg/apache/lucene/index/ReadersAndUpdates;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // int leafDocId
        start local 2 // org.apache.lucene.index.ReadersAndUpdates rld
         0: .line 1545
            aload 2 /* rld */
            iload 1 /* leafDocId */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.delete:(I)Z
            ifeq 5
         1: .line 1546
            aload 0 /* this */
            aload 2 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.isFullyDeleted:(Lorg/apache/lucene/index/ReadersAndUpdates;)Z
            ifeq 4
         2: .line 1547
            aload 0 /* this */
            aload 2 /* rld */
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.IndexWriter.dropDeletedSegment:(Lorg/apache/lucene/index/SegmentCommitInfo;)V
         3: .line 1548
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.checkpoint:()V
         4: .line 1553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
         5: .line 1555
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 1 // int leafDocId
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/lucene/index/IndexWriter;
            0    6     1  leafDocId  I
            0    6     2        rld  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException

  private void lambda$10(org.apache.lucene.index.DocValuesUpdate[], int, org.apache.lucene.index.ReadersAndUpdates);
    descriptor: ([Lorg/apache/lucene/index/DocValuesUpdate;ILorg/apache/lucene/index/ReadersAndUpdates;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 2 // int leafDocId
        start local 3 // org.apache.lucene.index.ReadersAndUpdates rld
         0: .line 1579
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.getNextGen:()J
            lstore 4 /* nextGen */
        start local 4 // long nextGen
         1: .line 1581
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* fieldUpdatesMap */
        start local 6 // java.util.Map fieldUpdatesMap
         2: .line 1582
            aload 1
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 15
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocValuesUpdate[] int org.apache.lucene.index.ReadersAndUpdates long java.util.Map top int int org.apache.lucene.index.DocValuesUpdate[]
      StackMap stack:
         3: aload 10
            iload 8
            aaload
            astore 7 /* update */
        start local 7 // org.apache.lucene.index.DocValuesUpdate update
         4: .line 1583
            aload 6 /* fieldUpdatesMap */
            aload 7 /* update */
            getfield org.apache.lucene.index.DocValuesUpdate.field:Ljava/lang/String;
            aload 7 /* update */
            lload 4 /* nextGen */
            aload 3 /* rld */
            invokedynamic apply(Lorg/apache/lucene/index/DocValuesUpdate;JLorg/apache/lucene/index/ReadersAndUpdates;)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/IndexWriter.lambda$11(Lorg/apache/lucene/index/DocValuesUpdate;JLorg/apache/lucene/index/ReadersAndUpdates;Ljava/lang/String;)Lorg/apache/lucene/index/DocValuesFieldUpdates; (6)
                  (Ljava/lang/String;)Lorg/apache/lucene/index/DocValuesFieldUpdates;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.apache.lucene.index.DocValuesFieldUpdates
            astore 11 /* docValuesFieldUpdates */
        start local 11 // org.apache.lucene.index.DocValuesFieldUpdates docValuesFieldUpdates
         5: .line 1593
            aload 7 /* update */
            invokevirtual org.apache.lucene.index.DocValuesUpdate.hasValue:()Z
            ifeq 13
         6: .line 1594
            invokestatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:()[I
            aload 7 /* update */
            getfield org.apache.lucene.index.DocValuesUpdate.type:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 7
                    3: 9
              default: 11
          }
         7: .line 1596
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocValuesUpdate[] int org.apache.lucene.index.ReadersAndUpdates long java.util.Map org.apache.lucene.index.DocValuesUpdate int int org.apache.lucene.index.DocValuesUpdate[] org.apache.lucene.index.DocValuesFieldUpdates
      StackMap stack:
            aload 11 /* docValuesFieldUpdates */
            iload 2 /* leafDocId */
            aload 7 /* update */
            checkcast org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate
            invokevirtual org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate.getValue:()J
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.add:(IJ)V
         8: .line 1597
            goto 14
         9: .line 1599
      StackMap locals:
      StackMap stack:
            aload 11 /* docValuesFieldUpdates */
            iload 2 /* leafDocId */
            aload 7 /* update */
            checkcast org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate
            invokevirtual org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate.getValue:()Lorg/apache/lucene/util/BytesRef;
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.add:(ILorg/apache/lucene/util/BytesRef;)V
        10: .line 1600
            goto 14
        11: .line 1602
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* update */
            getfield org.apache.lucene.index.DocValuesUpdate.type:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 1604
      StackMap locals:
      StackMap stack:
            goto 14
        13: .line 1605
      StackMap locals:
      StackMap stack:
            aload 11 /* docValuesFieldUpdates */
            iload 2 /* leafDocId */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.reset:(I)V
        end local 11 // org.apache.lucene.index.DocValuesFieldUpdates docValuesFieldUpdates
        end local 7 // org.apache.lucene.index.DocValuesUpdate update
        14: .line 1582
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocValuesUpdate[] int org.apache.lucene.index.ReadersAndUpdates long java.util.Map top int int org.apache.lucene.index.DocValuesUpdate[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        15: iload 8
            iload 9
            if_icmplt 3
        16: .line 1608
            aload 6 /* fieldUpdatesMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 20
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocValuesUpdate[] int org.apache.lucene.index.ReadersAndUpdates long java.util.Map top java.util.Iterator
      StackMap stack:
        17: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.DocValuesFieldUpdates
            astore 7 /* updates */
        start local 7 // org.apache.lucene.index.DocValuesFieldUpdates updates
        18: .line 1609
            aload 7 /* updates */
            invokevirtual org.apache.lucene.index.DocValuesFieldUpdates.finish:()V
        19: .line 1610
            aload 3 /* rld */
            aload 7 /* updates */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.addDVUpdate:(Lorg/apache/lucene/index/DocValuesFieldUpdates;)V
        end local 7 // org.apache.lucene.index.DocValuesFieldUpdates updates
        20: .line 1608
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 6 // java.util.Map fieldUpdatesMap
        21: .line 1612
            goto 25
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.DocValuesUpdate[] int org.apache.lucene.index.ReadersAndUpdates long
      StackMap stack: java.lang.Throwable
        22: astore 12
        23: .line 1613
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            lload 4 /* nextGen */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.finishedSegment:(J)V
        24: .line 1614
            aload 12
            athrow
        25: .line 1613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.bufferedUpdatesStream:Lorg/apache/lucene/index/BufferedUpdatesStream;
            lload 4 /* nextGen */
            invokevirtual org.apache.lucene.index.BufferedUpdatesStream.finishedSegment:(J)V
        26: .line 1617
            aload 0 /* this */
            invokevirtual org.apache.lucene.index.IndexWriter.changed:()V
        end local 4 // long nextGen
        27: .line 1618
            return
        end local 3 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 2 // int leafDocId
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   28     0                   this  Lorg/apache/lucene/index/IndexWriter;
            0   28     2              leafDocId  I
            0   28     3                    rld  Lorg/apache/lucene/index/ReadersAndUpdates;
            1   27     4                nextGen  J
            2   21     6        fieldUpdatesMap  Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/index/DocValuesFieldUpdates;>;
            4   14     7                 update  Lorg/apache/lucene/index/DocValuesUpdate;
            5   14    11  docValuesFieldUpdates  Lorg/apache/lucene/index/DocValuesFieldUpdates;
           18   20     7                updates  Lorg/apache/lucene/index/DocValuesFieldUpdates;
      Exception table:
        from    to  target  type
           1    22      22  any
    Exceptions:
      throws java.io.IOException

  private void lambda$12(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 2644
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 2645
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "now abort pending merge "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* merge */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            invokevirtual org.apache.lucene.index.IndexWriter.segString:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 2647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.abortOneMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         3: .line 2648
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         4: .line 2649
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/lucene/index/IndexWriter;
            0    5     1  merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
    Exceptions:
      throws java.io.IOException

  private void lambda$13(org.apache.lucene.index.FrozenBufferedUpdates, org.apache.lucene.index.IndexWriter);
    descriptor: (Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/IndexWriter;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 2 // org.apache.lucene.index.IndexWriter w
         0: .line 2743
            aload 0 /* this */
            aload 1
            invokevirtual org.apache.lucene.index.IndexWriter.tryApply:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)Z
            pop
         1: .line 2744
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         3: .line 2746
            aload 2 /* w */
            aload 3 /* t */
            ldc "applyUpdatesPacket"
            invokevirtual org.apache.lucene.index.IndexWriter.onTragicEvent:(Ljava/lang/Throwable;Ljava/lang/String;)V
         4: .line 2747
            goto 7
      StackMap locals: org.apache.lucene.index.IndexWriter org.apache.lucene.index.FrozenBufferedUpdates org.apache.lucene.index.IndexWriter java.lang.Throwable
      StackMap stack: java.lang.Throwable
         5: astore 4 /* t1 */
        start local 4 // java.lang.Throwable t1
         6: .line 2748
            aload 3 /* t */
            aload 4 /* t1 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t1
         7: .line 2750
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
         8: .line 2752
      StackMap locals:
      StackMap stack:
            aload 2 /* w */
            getfield org.apache.lucene.index.IndexWriter.flushDeletesCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         9: .line 2753
            return
        end local 2 // org.apache.lucene.index.IndexWriter w
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/lucene/index/IndexWriter;
            0   10     2     w  Lorg/apache/lucene/index/IndexWriter;
            3    8     3     t  Ljava/lang/Throwable;
            6    7     4    t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
           3     4       5  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  private static void lambda$16(org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/index/SegmentCommitInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 3417
            return
        end local 0 // org.apache.lucene.index.SegmentCommitInfo sci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   sci  Lorg/apache/lucene/index/SegmentCommitInfo;
    Exceptions:
      throws java.io.IOException

  private org.apache.lucene.index.MergePolicy$OneMerge lambda$17(java.util.function.BooleanSupplier, org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.util.IOUtils$IOConsumer, org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;Lorg/apache/lucene/index/MergePolicy$OneMerge;)Lorg/apache/lucene/index/MergePolicy$OneMerge;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 5 // org.apache.lucene.index.MergePolicy$OneMerge toWrap
         0: .line 3500
            new org.apache.lucene.index.IndexWriter$2
            dup
            aload 0 /* this */
            aload 5 /* toWrap */
            getfield org.apache.lucene.index.MergePolicy$OneMerge.segments:Ljava/util/List;
            aload 1
            aload 5 /* toWrap */
            aload 2
            aload 3
            aload 4
            invokespecial org.apache.lucene.index.IndexWriter$2.<init>:(Lorg/apache/lucene/index/IndexWriter;Ljava/util/List;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
         1: .line 3584
            areturn
        end local 5 // org.apache.lucene.index.MergePolicy$OneMerge toWrap
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/lucene/index/IndexWriter;
            0    2     5  toWrap  Lorg/apache/lucene/index/MergePolicy$OneMerge;

  private org.apache.lucene.index.MergePolicy$MergeReader lambda$19(org.apache.lucene.store.IOContext, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 2 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 3593
            aload 0 /* this */
            aload 2 /* sci */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 3 /* rld */
        start local 3 // org.apache.lucene.index.ReadersAndUpdates rld
         1: .line 3596
            aload 3 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.setIsMerging:()V
         2: .line 3597
            aload 3 /* rld */
            aload 1
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge:(Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
            areturn
        end local 3 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 2 // org.apache.lucene.index.SegmentCommitInfo sci
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    3     2   sci  Lorg/apache/lucene/index/SegmentCommitInfo;
            1    3     3   rld  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException

  private void lambda$18(org.apache.lucene.index.MergePolicy$OneMerge);
    descriptor: (Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
         0: .line 3605
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.pendingMerges:Ljava/util/LinkedList;
            aload 1 /* merge */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            istore 2 /* removed */
        start local 2 // boolean removed
         1: .line 3606
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 2
            iload 2 /* removed */
            ifne 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "merge should be pending but isn't: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.segString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3608
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.abortOneMerge:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         3: .line 3609
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 3610
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
         6: .line 3611
            aload 3
            athrow
         7: .line 3610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* merge */
            invokevirtual org.apache.lucene.index.IndexWriter.mergeFinish:(Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
        end local 2 // boolean removed
         8: .line 3612
            return
        end local 1 // org.apache.lucene.index.MergePolicy$OneMerge merge
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/lucene/index/IndexWriter;
            0    9     1    merge  Lorg/apache/lucene/index/MergePolicy$OneMerge;
            1    8     2  removed  Z
      Exception table:
        from    to  target  type
           2     4       4  any
    Exceptions:
      throws java.io.IOException

  private void lambda$20(java.util.Collection);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 3806
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 1
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private static boolean lambda$21(org.apache.lucene.util.Bits, int);
    descriptor: (Lorg/apache/lucene/util/Bits;I)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // int docId
         0: .line 4135
            aload 0
            iload 1 /* docId */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int docId
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1  docId  I

  private static boolean lambda$22(org.apache.lucene.util.Bits, org.apache.lucene.util.Bits, int);
    descriptor: (Lorg/apache/lucene/util/Bits;Lorg/apache/lucene/util/Bits;I)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // int docId
         0: .line 4136
            aload 0
            iload 2 /* docId */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifeq 1
            aload 1
            iload 2 /* docId */
            invokeinterface org.apache.lucene.util.Bits.get:(I)Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // int docId
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     2  docId  I

  private void lambda$24(boolean, org.apache.lucene.index.MergePolicy$MergeReader);
    descriptor: (ZLorg/apache/lucene/index/MergePolicy$MergeReader;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 2 // org.apache.lucene.index.MergePolicy$MergeReader mr
         0: .line 4633
            aload 2 /* mr */
            getfield org.apache.lucene.index.MergePolicy$MergeReader.reader:Lorg/apache/lucene/index/SegmentReader;
            astore 3 /* sr */
        start local 3 // org.apache.lucene.index.SegmentReader sr
         1: .line 4634
            aload 0 /* this */
            aload 3 /* sr */
            invokevirtual org.apache.lucene.index.SegmentReader.getOriginalSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            iconst_0
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 4 /* rld */
        start local 4 // org.apache.lucene.index.ReadersAndUpdates rld
         2: .line 4636
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 3
            aload 4 /* rld */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 4637
      StackMap locals: org.apache.lucene.index.SegmentReader org.apache.lucene.index.ReadersAndUpdates
      StackMap stack:
            iload 1
            ifeq 6
         4: .line 4638
            aload 4 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.dropChanges:()V
         5: .line 4639
            goto 7
         6: .line 4640
      StackMap locals:
      StackMap stack:
            aload 4 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.dropMergingUpdates:()V
         7: .line 4642
      StackMap locals:
      StackMap stack:
            aload 4 /* rld */
            aload 3 /* sr */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.release:(Lorg/apache/lucene/index/SegmentReader;)V
         8: .line 4643
            aload 0 /* this */
            aload 4 /* rld */
            invokevirtual org.apache.lucene.index.IndexWriter.release:(Lorg/apache/lucene/index/ReadersAndUpdates;)V
         9: .line 4644
            iload 1
            ifeq 11
        10: .line 4645
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.readerPool:Lorg/apache/lucene/index/ReaderPool;
            aload 4 /* rld */
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.ReaderPool.drop:(Lorg/apache/lucene/index/SegmentCommitInfo;)Z
            pop
        end local 4 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 3 // org.apache.lucene.index.SegmentReader sr
        11: .line 4647
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.lucene.index.MergePolicy$MergeReader mr
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/lucene/index/IndexWriter;
            0   12     2    mr  Lorg/apache/lucene/index/MergePolicy$MergeReader;
            1   11     3    sr  Lorg/apache/lucene/index/SegmentReader;
            2   11     4   rld  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException

  private org.apache.lucene.index.MergePolicy$MergeReader lambda$25(org.apache.lucene.store.IOContext, org.apache.lucene.index.SegmentCommitInfo);
    descriptor: (Lorg/apache/lucene/store/IOContext;Lorg/apache/lucene/index/SegmentCommitInfo;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 2 // org.apache.lucene.index.SegmentCommitInfo sci
         0: .line 4705
            aload 0 /* this */
            aload 2 /* sci */
            iconst_1
            invokevirtual org.apache.lucene.index.IndexWriter.getPooledInstance:(Lorg/apache/lucene/index/SegmentCommitInfo;Z)Lorg/apache/lucene/index/ReadersAndUpdates;
            astore 3 /* rld */
        start local 3 // org.apache.lucene.index.ReadersAndUpdates rld
         1: .line 4706
            aload 3 /* rld */
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.setIsMerging:()V
         2: .line 4707
            aload 3 /* rld */
            aload 1
            invokevirtual org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge:(Lorg/apache/lucene/store/IOContext;)Lorg/apache/lucene/index/MergePolicy$MergeReader;
            areturn
        end local 3 // org.apache.lucene.index.ReadersAndUpdates rld
        end local 2 // org.apache.lucene.index.SegmentCommitInfo sci
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    3     2   sci  Lorg/apache/lucene/index/SegmentCommitInfo;
            1    3     3   rld  Lorg/apache/lucene/index/ReadersAndUpdates;
    Exceptions:
      throws java.io.IOException

  private static boolean lambda$26(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.Map$Entry e
         0: .line 4771
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.util.Map$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/util/Map$Entry<Lorg/apache/lucene/index/MergePolicy$OneMergeProgress$PauseReason;Ljava/lang/Long;>;

  private static java.lang.String lambda$27(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // java.util.Map$Entry e
         0: .line 4772
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            ldc "%.1f sec %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 4773
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            l2d
            ldc 1.0E9
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
         2: .line 4774
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.lucene.index.MergePolicy$OneMergeProgress$PauseReason
            invokevirtual org.apache.lucene.index.MergePolicy$OneMergeProgress$PauseReason.name:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
         3: .line 4772
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 4774
            areturn
        end local 0 // java.util.Map$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     e  Ljava/util/Map$Entry<Lorg/apache/lucene/index/MergePolicy$OneMergeProgress$PauseReason;Ljava/lang/Long;>;

  private void lambda$30(org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket);
    descriptor: (Lorg/apache/lucene/index/DocumentsWriterFlushQueue$FlushTicket;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket ticket
         0: .line 5366
            aload 1 /* ticket */
            invokevirtual org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.getFlushedSegment:()Lorg/apache/lucene/index/DocumentsWriterPerThread$FlushedSegment;
            astore 2 /* newSegment */
        start local 2 // org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment newSegment
         1: .line 5367
            aload 1 /* ticket */
            invokevirtual org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.getFrozenUpdates:()Lorg/apache/lucene/index/FrozenBufferedUpdates;
            astore 3 /* bufferedUpdates */
        start local 3 // org.apache.lucene.index.FrozenBufferedUpdates bufferedUpdates
         2: .line 5368
            aload 1 /* ticket */
            invokevirtual org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.markPublished:()V
         3: .line 5369
            aload 2 /* newSegment */
            ifnonnull 9
         4: .line 5370
            aload 3 /* bufferedUpdates */
            ifnull 17
            aload 3 /* bufferedUpdates */
            invokevirtual org.apache.lucene.index.FrozenBufferedUpdates.any:()Z
            ifeq 17
         5: .line 5371
            aload 0 /* this */
            aload 3 /* bufferedUpdates */
            invokevirtual org.apache.lucene.index.IndexWriter.publishFrozenUpdates:(Lorg/apache/lucene/index/FrozenBufferedUpdates;)J
            pop2
         6: .line 5372
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 17
         7: .line 5373
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "flush: push buffered updates: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* bufferedUpdates */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 5376
            goto 17
         9: .line 5377
      StackMap locals: org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment org.apache.lucene.index.FrozenBufferedUpdates
      StackMap stack:
            getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
            ifne 10
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
            ifnonnull 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 5378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 5379
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "publishFlushedSegment seg-private updates="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentUpdates:Lorg/apache/lucene/index/FrozenBufferedUpdates;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 5381
      StackMap locals:
      StackMap stack:
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentUpdates:Lorg/apache/lucene/index/FrozenBufferedUpdates;
            ifnull 14
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "DW"
            invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 5382
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
            ldc "IW"
            new java.lang.StringBuilder
            dup
            ldc "flush: push buffered seg private updates: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentUpdates:Lorg/apache/lucene/index/FrozenBufferedUpdates;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 5385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.fieldInfos:Lorg/apache/lucene/index/FieldInfos;
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.segmentUpdates:Lorg/apache/lucene/index/FrozenBufferedUpdates;
        15: .line 5386
            aload 3 /* bufferedUpdates */
            aload 2 /* newSegment */
            getfield org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment.sortMap:Lorg/apache/lucene/index/Sorter$DocMap;
        16: .line 5385
            invokevirtual org.apache.lucene.index.IndexWriter.publishFlushedSegment:(Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/FieldInfos;Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/FrozenBufferedUpdates;Lorg/apache/lucene/index/Sorter$DocMap;)V
        end local 3 // org.apache.lucene.index.FrozenBufferedUpdates bufferedUpdates
        end local 2 // org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment newSegment
        17: .line 5388
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket ticket
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/apache/lucene/index/IndexWriter;
            0   18     1           ticket  Lorg/apache/lucene/index/DocumentsWriterFlushQueue$FlushTicket;
            1   17     2       newSegment  Lorg/apache/lucene/index/DocumentsWriterPerThread$FlushedSegment;
            2   17     3  bufferedUpdates  Lorg/apache/lucene/index/FrozenBufferedUpdates;
    Exceptions:
      throws java.io.IOException

  private void lambda$31(org.apache.lucene.index.BufferedUpdatesStream$SegmentState[], java.util.concurrent.atomic.AtomicBoolean, java.util.Set);
    descriptor: ([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/Set;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 5658
            aload 0 /* this */
            aload 1
            aload 2
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            aload 3
            invokevirtual org.apache.lucene.index.IndexWriter.finishApply:([Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;ZLjava/util/Set;)V
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexWriter;
    Exceptions:
      throws java.io.IOException

  private static org.apache.lucene.index.CodecReader lambda$32(org.apache.lucene.index.BufferedUpdatesStream$SegmentState);
    descriptor: (Lorg/apache/lucene/index/BufferedUpdatesStream$SegmentState;)Lorg/apache/lucene/index/CodecReader;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 5792
            aload 0
            getfield org.apache.lucene.index.BufferedUpdatesStream$SegmentState.reader:Lorg/apache/lucene/index/SegmentReader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  private java.io.Closeable lambda$4(org.apache.lucene.index.SegmentReader);
    descriptor: (Lorg/apache/lucene/index/SegmentReader;)Ljava/io/Closeable;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
        start local 1 // org.apache.lucene.index.SegmentReader sr
         0: .line 658
            aload 0 /* this */
            aload 1 /* sr */
            invokedynamic close(Lorg/apache/lucene/index/IndexWriter;Lorg/apache/lucene/index/SegmentReader;)Ljava/io/Closeable;
              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:
                  ()V
                  org/apache/lucene/index/IndexWriter.lambda$5(Lorg/apache/lucene/index/SegmentReader;)V (7)
                  ()V
         1: .line 664
            areturn
        end local 1 // org.apache.lucene.index.SegmentReader sr
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/IndexWriter;
            0    2     1    sr  Lorg/apache/lucene/index/SegmentReader;

  private static org.apache.lucene.index.DocValuesFieldUpdates lambda$11(org.apache.lucene.index.DocValuesUpdate, long, org.apache.lucene.index.ReadersAndUpdates, java.lang.String);
    descriptor: (Lorg/apache/lucene/index/DocValuesUpdate;JLorg/apache/lucene/index/ReadersAndUpdates;Ljava/lang/String;)Lorg/apache/lucene/index/DocValuesFieldUpdates;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=4
        start local 4 // java.lang.String k
         0: .line 1584
            invokestatic org.apache.lucene.index.IndexWriter.$SWITCH_TABLE$org$apache$lucene$index$DocValuesType:()[I
            aload 0
            getfield org.apache.lucene.index.DocValuesUpdate.type:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.index.DocValuesType.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 1
                    3: 2
              default: 3
          }
         1: .line 1586
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.NumericDocValuesFieldUpdates
            dup
            lload 1
            aload 4 /* k */
            aload 3
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            invokespecial org.apache.lucene.index.NumericDocValuesFieldUpdates.<init>:(JLjava/lang/String;I)V
            areturn
         2: .line 1588
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.index.BinaryDocValuesFieldUpdates
            dup
            lload 1
            aload 4 /* k */
            aload 3
            getfield org.apache.lucene.index.ReadersAndUpdates.info:Lorg/apache/lucene/index/SegmentCommitInfo;
            getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
            invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
            invokespecial org.apache.lucene.index.BinaryDocValuesFieldUpdates.<init>:(JLjava/lang/String;I)V
            areturn
         3: .line 1590
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            getfield org.apache.lucene.index.DocValuesUpdate.type:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // java.lang.String k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     4     k  Ljava/lang/String;

  private void lambda$5(org.apache.lucene.index.SegmentReader);
    descriptor: (Lorg/apache/lucene/index/SegmentReader;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.index.IndexWriter this
         0: .line 660
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
            aload 1
            invokevirtual org.apache.lucene.index.SegmentReader.getSegmentInfo:()Lorg/apache/lucene/index/SegmentCommitInfo;
            invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
            invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
         1: .line 661
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 2
         3: .line 662
            aload 1
            invokevirtual org.apache.lucene.index.SegmentReader.close:()V
         4: .line 663
            aload 2
            athrow
         5: .line 662
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual org.apache.lucene.index.SegmentReader.close:()V
         6: .line 664
            return
        end local 0 // org.apache.lucene.index.IndexWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/lucene/index/IndexWriter;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.io.IOException
}
SourceFile: "IndexWriter.java"
NestMembers:
  org.apache.lucene.index.IndexWriter$1  org.apache.lucene.index.IndexWriter$2  org.apache.lucene.index.IndexWriter$3  org.apache.lucene.index.IndexWriter$4  org.apache.lucene.index.IndexWriter$DocModifier  org.apache.lucene.index.IndexWriter$DocStats  org.apache.lucene.index.IndexWriter$Event  org.apache.lucene.index.IndexWriter$EventQueue  org.apache.lucene.index.IndexWriter$IndexReaderWarmer  org.apache.lucene.index.IndexWriter$IndexWriterMergeSource  org.apache.lucene.index.IndexWriter$Merges
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  ApplyDeletesResult = org.apache.lucene.index.BufferedUpdatesStream$ApplyDeletesResult of org.apache.lucene.index.BufferedUpdatesStream
  final SegmentState = org.apache.lucene.index.BufferedUpdatesStream$SegmentState of org.apache.lucene.index.BufferedUpdatesStream
  abstract Iterator = org.apache.lucene.index.DocValuesFieldUpdates$Iterator of org.apache.lucene.index.DocValuesFieldUpdates
  final BinaryDocValuesUpdate = org.apache.lucene.index.DocValuesUpdate$BinaryDocValuesUpdate of org.apache.lucene.index.DocValuesUpdate
  final NumericDocValuesUpdate = org.apache.lucene.index.DocValuesUpdate$NumericDocValuesUpdate of org.apache.lucene.index.DocValuesUpdate
  abstract FlushNotifications = org.apache.lucene.index.DocumentsWriter$FlushNotifications of org.apache.lucene.index.DocumentsWriter
  Node = org.apache.lucene.index.DocumentsWriterDeleteQueue$Node of org.apache.lucene.index.DocumentsWriterDeleteQueue
  final FlushTicket = org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket of org.apache.lucene.index.DocumentsWriterFlushQueue
  final FlushedSegment = org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment of org.apache.lucene.index.DocumentsWriterPerThread
  final FieldNumbers = org.apache.lucene.index.FieldInfos$FieldNumbers of org.apache.lucene.index.FieldInfos
  org.apache.lucene.index.IndexWriter$1
  org.apache.lucene.index.IndexWriter$2
  org.apache.lucene.index.IndexWriter$3
  private abstract DocModifier = org.apache.lucene.index.IndexWriter$DocModifier of org.apache.lucene.index.IndexWriter
  public final DocStats = org.apache.lucene.index.IndexWriter$DocStats of org.apache.lucene.index.IndexWriter
  abstract Event = org.apache.lucene.index.IndexWriter$Event of org.apache.lucene.index.IndexWriter
  final EventQueue = org.apache.lucene.index.IndexWriter$EventQueue of org.apache.lucene.index.IndexWriter
  public abstract IndexReaderWarmer = org.apache.lucene.index.IndexWriter$IndexReaderWarmer of org.apache.lucene.index.IndexWriter
  private IndexWriterMergeSource = org.apache.lucene.index.IndexWriter$IndexWriterMergeSource of org.apache.lucene.index.IndexWriter
  private Merges = org.apache.lucene.index.IndexWriter$Merges of org.apache.lucene.index.IndexWriter
  public final OpenMode = org.apache.lucene.index.IndexWriterConfig$OpenMode of org.apache.lucene.index.IndexWriterConfig
  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
  public final PauseReason = org.apache.lucene.index.MergePolicy$OneMergeProgress$PauseReason of org.apache.lucene.index.MergePolicy$OneMergeProgress
  public abstract MergeSource = org.apache.lucene.index.MergeScheduler$MergeSource of org.apache.lucene.index.MergeScheduler
  public abstract DocMap = org.apache.lucene.index.MergeState$DocMap of org.apache.lucene.index.MergeState
  abstract DocMap = org.apache.lucene.index.Sorter$DocMap of org.apache.lucene.index.Sorter
  public abstract IOConsumer = org.apache.lucene.util.IOUtils$IOConsumer of org.apache.lucene.util.IOUtils
  public abstract IOFunction = org.apache.lucene.util.IOUtils$IOFunction of org.apache.lucene.util.IOUtils