public class org.apache.cassandra.io.sstable.SSTableRewriter extends org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional implements org.apache.cassandra.utils.concurrent.Transactional
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.io.sstable.SSTableRewriter
  super_class: org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional
{
  public static boolean disableEarlyOpeningForTests;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  private final long preemptiveOpenInterval;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long maxAge;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction;
    descriptor: Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.io.sstable.format.SSTableReader> preparedForCommit;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

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

  private final java.util.List<org.apache.cassandra.io.sstable.format.SSTableWriter> writers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableWriter;>;

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

  private org.apache.cassandra.io.sstable.format.SSTableWriter writer;
    descriptor: Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.RowIndexEntry> cachedKeys;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/RowIndexEntry;>;

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            ldc Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            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.cassandra.io.sstable.SSTableRewriter.$assertionsDisabled:Z
         3: .line 57
            iconst_0
            putstatic org.apache.cassandra.io.sstable.SSTableRewriter.disableEarlyOpeningForTests:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, long, boolean);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 2 // long maxAge
        start local 4 // boolean isOffline
         0: .line 80
            aload 0 /* this */
            aload 1 /* transaction */
            lload 2 /* maxAge */
            iload 4 /* isOffline */
            iconst_1
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter.<init>:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JZZ)V
         1: .line 81
            return
        end local 4 // boolean isOffline
        end local 2 // long maxAge
        end local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    2     1  transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    2     2       maxAge  J
            0    2     4    isOffline  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      transaction  
      maxAge       
      isOffline    

  public void <init>(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, long, boolean, boolean);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 2 // long maxAge
        start local 4 // boolean isOffline
        start local 5 // boolean shouldOpenEarly
         0: .line 85
            aload 0 /* this */
            aload 1 /* transaction */
            lload 2 /* maxAge */
            iload 5 /* shouldOpenEarly */
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.calculateOpenInterval:(Z)J
            iconst_0
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter.<init>:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JJZ)V
         1: .line 86
            return
        end local 5 // boolean shouldOpenEarly
        end local 4 // boolean isOffline
        end local 2 // long maxAge
        end local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    2     1      transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    2     2           maxAge  J
            0    2     4        isOffline  Z
            0    2     5  shouldOpenEarly  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      transaction      
      maxAge           
      isOffline        
      shouldOpenEarly  

  public void <init>(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, long, long, boolean);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JJZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 2 // long maxAge
        start local 4 // long preemptiveOpenInterval
        start local 6 // boolean keepOriginals
         0: .line 89
            aload 0 /* this */
            invokespecial org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.<init>:()V
         1: .line 61
            aload 0 /* this */
            ldc -1
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.repairedAt:J
         2: .line 64
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.preparedForCommit:Ljava/util/List;
         3: .line 68
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
         4: .line 72
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
         5: .line 91
            aload 0 /* this */
            aload 1 /* transaction */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
         6: .line 92
            aload 0 /* this */
            lload 2 /* maxAge */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.maxAge:J
         7: .line 93
            aload 0 /* this */
            iload 6 /* keepOriginals */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.keepOriginals:Z
         8: .line 94
            aload 0 /* this */
            lload 4 /* preemptiveOpenInterval */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.preemptiveOpenInterval:J
         9: .line 95
            return
        end local 6 // boolean keepOriginals
        end local 4 // long preemptiveOpenInterval
        end local 2 // long maxAge
        end local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   10     0                    this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0   10     1             transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0   10     2                  maxAge  J
            0   10     4  preemptiveOpenInterval  J
            0   10     6           keepOriginals  Z
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
                        Name  Flags
      transaction             
      maxAge                  
      preemptiveOpenInterval  
      keepOriginals           

  public static org.apache.cassandra.io.sstable.SSTableRewriter constructKeepingOriginals(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, boolean, long, boolean);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJZ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 1 // boolean keepOriginals
        start local 2 // long maxAge
        start local 4 // boolean isOffline
         0: .line 100
            aload 0 /* transaction */
            iload 1 /* keepOriginals */
            lload 2 /* maxAge */
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.constructKeepingOriginals:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            areturn
        end local 4 // boolean isOffline
        end local 2 // long maxAge
        end local 1 // boolean keepOriginals
        end local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    1     1  keepOriginals  Z
            0    1     2         maxAge  J
            0    1     4      isOffline  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      transaction    
      keepOriginals  
      maxAge         
      isOffline      

  public static org.apache.cassandra.io.sstable.SSTableRewriter constructKeepingOriginals(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, boolean, long);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 1 // boolean keepOriginals
        start local 2 // long maxAge
         0: .line 105
            new org.apache.cassandra.io.sstable.SSTableRewriter
            dup
            aload 0 /* transaction */
            lload 2 /* maxAge */
            iconst_1
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.calculateOpenInterval:(Z)J
            iload 1 /* keepOriginals */
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter.<init>:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JJZ)V
            areturn
        end local 2 // long maxAge
        end local 1 // boolean keepOriginals
        end local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    1     1  keepOriginals  Z
            0    1     2         maxAge  J
    MethodParameters:
               Name  Flags
      transaction    
      keepOriginals  
      maxAge         

  public static org.apache.cassandra.io.sstable.SSTableRewriter constructWithoutEarlyOpening(org.apache.cassandra.db.lifecycle.ILifecycleTransaction, boolean, long);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 1 // boolean keepOriginals
        start local 2 // long maxAge
         0: .line 110
            new org.apache.cassandra.io.sstable.SSTableRewriter
            dup
            aload 0 /* transaction */
            lload 2 /* maxAge */
            iconst_0
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.calculateOpenInterval:(Z)J
            iload 1 /* keepOriginals */
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter.<init>:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JJZ)V
            areturn
        end local 2 // long maxAge
        end local 1 // boolean keepOriginals
        end local 0 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    1     1  keepOriginals  Z
            0    1     2         maxAge  J
    MethodParameters:
               Name  Flags
      transaction    
      keepOriginals  
      maxAge         

  public static org.apache.cassandra.io.sstable.SSTableRewriter construct(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.ILifecycleTransaction, boolean, long);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        start local 2 // boolean keepOriginals
        start local 3 // long maxAge
         0: .line 115
            new org.apache.cassandra.io.sstable.SSTableRewriter
            dup
            aload 1 /* transaction */
            lload 3 /* maxAge */
            aload 0 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.supportsEarlyOpen:()Z
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.calculateOpenInterval:(Z)J
            iload 2 /* keepOriginals */
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter.<init>:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;JJZ)V
            areturn
        end local 3 // long maxAge
        end local 2 // boolean keepOriginals
        end local 1 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction transaction
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    1     1    transaction  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            0    1     2  keepOriginals  Z
            0    1     3         maxAge  J
    MethodParameters:
               Name  Flags
      cfs            
      transaction    
      keepOriginals  
      maxAge         

  private static long calculateOpenInterval(boolean);
    descriptor: (Z)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // boolean shouldOpenEarly
         0: .line 120
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getSSTablePreempiveOpenIntervalInMB:()I
            i2l
            ldc 1048576
            lmul
            lstore 1 /* interval */
        start local 1 // long interval
         1: .line 121
            getstatic org.apache.cassandra.io.sstable.SSTableRewriter.disableEarlyOpeningForTests:Z
            ifne 2
            iload 0 /* shouldOpenEarly */
            ifeq 2
            lload 1 /* interval */
            lconst_0
            lcmp
            ifge 3
         2: .line 122
      StackMap locals: long
      StackMap stack:
            ldc 9223372036854775807
            lstore 1 /* interval */
         3: .line 123
      StackMap locals:
      StackMap stack:
            lload 1 /* interval */
            lreturn
        end local 1 // long interval
        end local 0 // boolean shouldOpenEarly
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  shouldOpenEarly  Z
            1    4     1         interval  J
    MethodParameters:
                 Name  Flags
      shouldOpenEarly  

  public org.apache.cassandra.io.sstable.format.SSTableWriter currentWriter();
    descriptor: ()Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
         0: .line 128
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;

  public org.apache.cassandra.db.RowIndexEntry append(org.apache.cassandra.db.rows.UnfilteredRowIterator);
    descriptor: (Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
         0: .line 134
            aload 1 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            astore 2 /* key */
        start local 2 // org.apache.cassandra.db.DecoratedKey key
         1: .line 135
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.maybeReopenEarly:(Lorg/apache/cassandra/db/DecoratedKey;)V
         2: .line 136
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            aload 1 /* partition */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
            astore 3 /* index */
        start local 3 // org.apache.cassandra.db.RowIndexEntry index
         3: .line 137
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.isOffline:()Z
            ifne 10
            aload 3 /* index */
            ifnull 10
         4: .line 139
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.rows.UnfilteredRowIterator org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.RowIndexEntry top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 4 /* reader */
        start local 4 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         6: .line 141
            aload 4 /* reader */
            aload 2 /* key */
            iconst_0
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getCachedPosition:(Lorg/apache/cassandra/db/DecoratedKey;Z)Lorg/apache/cassandra/db/RowIndexEntry;
            ifnull 9
         7: .line 143
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
            aload 2 /* key */
            aload 3 /* index */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 144
            goto 10
        end local 4 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         9: .line 139
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 148
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.rows.UnfilteredRowIterator org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.RowIndexEntry
      StackMap stack:
            aload 3 /* index */
            areturn
        end local 3 // org.apache.cassandra.db.RowIndexEntry index
        end local 2 // org.apache.cassandra.db.DecoratedKey key
        end local 1 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0   11     1  partition  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            1   11     2        key  Lorg/apache/cassandra/db/DecoratedKey;
            3   11     3      index  Lorg/apache/cassandra/db/RowIndexEntry;
            6    9     4     reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
           Name  Flags
      partition  

  public org.apache.cassandra.db.RowIndexEntry tryAppend(org.apache.cassandra.db.rows.UnfilteredRowIterator);
    descriptor: (Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
         0: .line 154
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.mark:()V
         1: .line 157
            aload 0 /* this */
            aload 1 /* partition */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
         2: areturn
         3: .line 159
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 161
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.resetAndTruncate:()V
         5: .line 162
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    6     1  partition  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            4    6     2          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      partition  

  private void maybeReopenEarly(org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.db.DecoratedKey key
         0: .line 168
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getFilePointer:()J
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.currentlyOpenedEarlyAt:J
            lsub
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.preemptiveOpenInterval:J
            lcmp
            ifle 16
         1: .line 170
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.isOffline:()Z
            ifeq 10
         2: .line 172
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.DecoratedKey top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 2 /* reader */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         4: .line 174
            aload 2 /* reader */
            aload 1 /* key */
            getstatic org.apache.cassandra.io.sstable.format.SSTableReader$Operator.GE:Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getPosition:(Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;)Lorg/apache/cassandra/db/RowIndexEntry;
            astore 4 /* index */
        start local 4 // org.apache.cassandra.db.RowIndexEntry index
         5: .line 175
            aload 2 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getFilename:()Ljava/lang/String;
            lconst_0
            aload 4 /* index */
            ifnonnull 6
            lconst_0
            goto 7
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.DecoratedKey org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.db.RowIndexEntry
      StackMap stack: java.lang.String long
         6: aload 4 /* index */
            getfield org.apache.cassandra.db.RowIndexEntry.position:J
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.DecoratedKey org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.db.RowIndexEntry
      StackMap stack: java.lang.String long long
         7: invokestatic org.apache.cassandra.utils.NativeLibrary.trySkipCache:(Ljava/lang/String;JJ)V
        end local 4 // org.apache.cassandra.db.RowIndexEntry index
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         8: .line 172
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.DecoratedKey top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 177
            goto 16
        10: .line 180
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.DecoratedKey
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.maxAge:J
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setMaxDataAge:(J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.openEarly:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 2 /* reader */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        11: .line 181
            aload 2 /* reader */
            ifnull 16
        12: .line 183
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 2 /* reader */
            iconst_0
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.update:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
        13: .line 184
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getFilePointer:()J
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.currentlyOpenedEarlyAt:J
        14: .line 185
            aload 0 /* this */
            aload 2 /* reader */
            aload 2 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.moveStarts:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/DecoratedKey;)V
        15: .line 186
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.checkpoint:()V
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        16: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.db.DecoratedKey key
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0   17     1     key  Lorg/apache/cassandra/db/DecoratedKey;
            4    8     2  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            5    8     4   index  Lorg/apache/cassandra/db/RowIndexEntry;
           11   16     2  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
      Name  Flags
      key   

  protected java.lang.Throwable doAbort(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // java.lang.Throwable accumulate
         0: .line 195
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter java.lang.Throwable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableWriter
            astore 2 /* writer */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
         2: .line 196
            aload 2 /* writer */
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* accumulate */
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
         3: .line 195
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 198
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 1 /* accumulate */
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* accumulate */
         5: .line 199
            aload 1 /* accumulate */
            areturn
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    6     1  accumulate  Ljava/lang/Throwable;
            2    3     2      writer  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
            Name  Flags
      accumulate  

  protected java.lang.Throwable doCommit(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // java.lang.Throwable accumulate
         0: .line 204
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter java.lang.Throwable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableWriter
            astore 2 /* writer */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
         2: .line 205
            aload 2 /* writer */
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* accumulate */
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
         3: .line 204
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 207
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 1 /* accumulate */
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* accumulate */
         5: .line 208
            aload 1 /* accumulate */
            areturn
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    6     1  accumulate  Ljava/lang/Throwable;
            2    3     2      writer  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
            Name  Flags
      accumulate  

  private void moveStarts(org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/DecoratedKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader newReader
        start local 2 // org.apache.cassandra.db.DecoratedKey lowerbound
         0: .line 226
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.isOffline:()Z
            ifeq 2
         1: .line 227
            return
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.preemptiveOpenInterval:J
            ldc 9223372036854775807
            lcmp
            ifne 4
         3: .line 229
            return
         4: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* newReader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.setupOnline:()V
         5: .line 232
            aconst_null
            astore 3 /* invalidateKeys */
        start local 3 // java.util.List invalidateKeys
         6: .line 233
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 13
         7: .line 235
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* invalidateKeys */
         8: .line 236
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.DecoratedKey java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* cacheKey */
        start local 4 // java.util.Map$Entry cacheKey
        10: .line 238
            aload 3 /* invalidateKeys */
            aload 4 /* cacheKey */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.DecoratedKey
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 239
            aload 1 /* newReader */
            aload 4 /* cacheKey */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.DecoratedKey
            aload 4 /* cacheKey */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.RowIndexEntry
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.cacheKey:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/RowIndexEntry;)V
        end local 4 // java.util.Map$Entry cacheKey
        12: .line 236
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 243
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.DecoratedKey java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.cachedKeys:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        14: .line 244
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 32
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.DecoratedKey java.util.List top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 4 /* sstable */
        start local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        16: .line 248
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 4 /* sstable */
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.current:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 6 /* latest */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader latest
        17: .line 251
            aload 6 /* latest */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            aload 2 /* lowerbound */
            invokevirtual org.apache.cassandra.db.DecoratedKey.compareTo:(Lorg/apache/cassandra/db/PartitionPosition;)I
            ifle 19
        18: .line 252
            goto 32
        19: .line 254
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.DecoratedKey java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            aload 3 /* invalidateKeys */
            ifnull 20
            new org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys
            dup
            aload 6 /* latest */
            aload 3 /* invalidateKeys */
            invokespecial org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys.<init>:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Ljava/util/Collection;)V
            goto 21
      StackMap locals:
      StackMap stack:
        20: aconst_null
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys
        21: astore 7 /* runOnClose */
        start local 7 // java.lang.Runnable runOnClose
        22: .line 255
            aload 2 /* lowerbound */
            aload 6 /* latest */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.compareTo:(Lorg/apache/cassandra/db/PartitionPosition;)I
            iflt 28
        23: .line 257
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 6 /* latest */
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.isObsolete:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Z
            ifne 32
        24: .line 259
            aload 7 /* runOnClose */
            ifnull 26
        25: .line 261
            aload 6 /* latest */
            aload 7 /* runOnClose */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.runOnClose:(Ljava/lang/Runnable;)V
        26: .line 263
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 6 /* latest */
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.obsolete:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
        27: .line 265
            goto 32
        28: .line 268
      StackMap locals:
      StackMap stack:
            aload 6 /* latest */
            aload 2 /* lowerbound */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.firstKeyBeyond:(Lorg/apache/cassandra/db/PartitionPosition;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 8 /* newStart */
        start local 8 // org.apache.cassandra.db.DecoratedKey newStart
        29: .line 269
            getstatic org.apache.cassandra.io.sstable.SSTableRewriter.$assertionsDisabled:Z
            ifne 30
            aload 8 /* newStart */
            ifnonnull 30
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 270
      StackMap locals: org.apache.cassandra.db.DecoratedKey
      StackMap stack:
            aload 6 /* latest */
            aload 8 /* newStart */
            aload 7 /* runOnClose */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.cloneWithNewStart:(Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/Runnable;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 9 /* replacement */
        start local 9 // org.apache.cassandra.io.sstable.format.SSTableReader replacement
        31: .line 271
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 9 /* replacement */
            iconst_1
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.update:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
        end local 9 // org.apache.cassandra.io.sstable.format.SSTableReader replacement
        end local 8 // org.apache.cassandra.db.DecoratedKey newStart
        end local 7 // java.lang.Runnable runOnClose
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader latest
        end local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        32: .line 244
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.DecoratedKey java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        33: .line 273
            return
        end local 3 // java.util.List invalidateKeys
        end local 2 // org.apache.cassandra.db.DecoratedKey lowerbound
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader newReader
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0            this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0   34     1       newReader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0   34     2      lowerbound  Lorg/apache/cassandra/db/DecoratedKey;
            6   34     3  invalidateKeys  Ljava/util/List<Lorg/apache/cassandra/db/DecoratedKey;>;
           10   12     4        cacheKey  Ljava/util/Map$Entry<Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/RowIndexEntry;>;
           16   32     4         sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           17   32     6          latest  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           22   32     7      runOnClose  Ljava/lang/Runnable;
           29   32     8        newStart  Lorg/apache/cassandra/db/DecoratedKey;
           31   32     9     replacement  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
            Name  Flags
      newReader   
      lowerbound  

  public void switchWriter(org.apache.cassandra.io.sstable.format.SSTableWriter);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableWriter newWriter
         0: .line 303
            aload 1 /* newWriter */
            ifnull 2
         1: .line 304
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
            aload 1 /* newWriter */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.maxAge:J
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setMaxDataAge:(J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            ifnull 3
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getFilePointer:()J
            lconst_0
            lcmp
            ifne 9
         3: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            ifnull 7
         4: .line 310
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.abort:()V
         5: .line 312
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.untrackNew:(Lorg/apache/cassandra/io/sstable/SSTable;)V
         6: .line 313
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         7: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newWriter */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
         8: .line 317
            return
         9: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.preemptiveOpenInterval:J
            ldc 9223372036854775807
            lcmp
            ifeq 14
        10: .line 323
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.maxAge:J
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setMaxDataAge:(J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.openFinalEarly:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 2 /* reader */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        11: .line 324
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 2 /* reader */
            iconst_0
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.update:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
        12: .line 325
            aload 0 /* this */
            aload 2 /* reader */
            aload 2 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.moveStarts:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/DecoratedKey;)V
        13: .line 326
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.checkpoint:()V
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        14: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.currentlyOpenedEarlyAt:J
        15: .line 330
            aload 0 /* this */
            aload 1 /* newWriter */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.writer:Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
        16: .line 331
            return
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableWriter newWriter
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0   17     1  newWriter  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
           11   14     2     reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
           Name  Flags
      newWriter  

  public org.apache.cassandra.io.sstable.SSTableRewriter setRepairedAt(long);
    descriptor: (J)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // long repairedAt
         0: .line 340
            aload 0 /* this */
            lload 1 /* repairedAt */
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.repairedAt:J
         1: .line 341
            aload 0 /* this */
            areturn
        end local 1 // long repairedAt
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    2     1  repairedAt  J
    MethodParameters:
            Name  Flags
      repairedAt  

  public java.util.List<org.apache.cassandra.io.sstable.format.SSTableReader> finish();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
         0: .line 358
            aload 0 /* this */
            invokespecial org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.finish:()Ljava/lang/Object;
            pop
         1: .line 359
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finished:()Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    Signature: ()Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  public java.util.List<org.apache.cassandra.io.sstable.format.SSTableReader> finished();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
         0: .line 365
            getstatic org.apache.cassandra.io.sstable.SSTableRewriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.state:()Lorg/apache/cassandra/utils/concurrent/Transactional$AbstractTransactional$State;
            getstatic org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional$State.COMMITTED:Lorg/apache/cassandra/utils/concurrent/Transactional$AbstractTransactional$State;
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.state:()Lorg/apache/cassandra/utils/concurrent/Transactional$AbstractTransactional$State;
            getstatic org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional$State.READY_TO_COMMIT:Lorg/apache/cassandra/utils/concurrent/Transactional$AbstractTransactional$State;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.preparedForCommit:Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
    Signature: ()Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  protected void doPrepare();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
         0: .line 371
            aload 0 /* this */
            aconst_null
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
         1: .line 373
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.throwEarly:Z
            ifeq 3
         2: .line 374
            new java.lang.RuntimeException
            dup
            ldc "exception thrown early in finish, for testing"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.writers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 10
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter top java.util.Iterator
      StackMap stack:
         4: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableWriter
            astore 1 /* writer */
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
         5: .line 379
            getstatic org.apache.cassandra.io.sstable.SSTableRewriter.$assertionsDisabled:Z
            ifne 6
            aload 1 /* writer */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getFilePointer:()J
            lconst_0
            lcmp
            ifgt 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 380
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.format.SSTableWriter java.util.Iterator
      StackMap stack:
            aload 1 /* writer */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.repairedAt:J
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setRepairedAt:(J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            iconst_1
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setOpenResult:(Z)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.prepareToCommit:()V
         7: .line 381
            aload 1 /* writer */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.finished:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 3 /* reader */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         8: .line 382
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            aload 3 /* reader */
            iconst_0
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.update:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
         9: .line 383
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.preparedForCommit:Ljava/util/List;
            aload 3 /* reader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableWriter writer
        10: .line 377
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 385
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.checkpoint:()V
        12: .line 387
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.throwLate:Z
            ifeq 14
        13: .line 388
            new java.lang.RuntimeException
            dup
            ldc "exception thrown after all sstables finished, for testing"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 390
      StackMap locals: org.apache.cassandra.io.sstable.SSTableRewriter
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.keepOriginals:Z
            ifne 16
        15: .line 391
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.obsoleteOriginals:()V
        16: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.SSTableRewriter.transaction:Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            invokeinterface org.apache.cassandra.db.lifecycle.ILifecycleTransaction.prepareToCommit:()V
        17: .line 394
            return
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            5   10     1  writer  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            8   10     3  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;

  public void throwDuringPrepare(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
        start local 1 // boolean earlyException
         0: .line 398
            iload 1 /* earlyException */
            ifeq 2
         1: .line 399
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.throwEarly:Z
            goto 3
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.io.sstable.SSTableRewriter.throwLate:Z
         3: .line 402
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean earlyException
        end local 0 // org.apache.cassandra.io.sstable.SSTableRewriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            0    4     1  earlyException  Z
    MethodParameters:
                Name  Flags
      earlyException  

  public java.lang.Object finish();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finish:()Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SSTableRewriter.java"
NestMembers:
  org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private final InvalidateKeys = org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys of org.apache.cassandra.io.sstable.SSTableRewriter
  public abstract Operator = org.apache.cassandra.io.sstable.format.SSTableReader$Operator of org.apache.cassandra.io.sstable.format.SSTableReader
  public abstract AbstractTransactional = org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional of org.apache.cassandra.utils.concurrent.Transactional
  public final State = org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional$State of org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional