final class org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction implements org.apache.cassandra.index.transactions.UpdateTransaction
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction
  super_class: java.lang.Object
{
  private final org.apache.cassandra.index.Index$Indexer[] indexers;
    descriptor: [Lorg/apache/cassandra/index/Index$Indexer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 889
            ldc Lorg/apache/cassandra/index/SecondaryIndexManager;
            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.index.SecondaryIndexManager$WriteTimeTransaction.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.apache.cassandra.index.Index$Indexer[]);
    descriptor: ([Lorg/apache/cassandra/index/Index$Indexer;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.index.Index$Indexer[] indexers
         0: .line 893
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 896
            aload 1 /* indexers */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction org.apache.cassandra.index.Index$Indexer[] top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* indexer */
        start local 2 // org.apache.cassandra.index.Index$Indexer indexer
         3: getstatic org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.$assertionsDisabled:Z
            ifne 4
            aload 2 /* indexer */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // org.apache.cassandra.index.Index$Indexer indexer
      StackMap locals:
      StackMap stack:
         4: iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 897
            aload 0 /* this */
            aload 1 /* indexers */
            putfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
         7: .line 898
            return
        end local 1 // org.apache.cassandra.index.Index$Indexer[] indexers
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0    8     1  indexers  [Lorg/apache/cassandra/index/Index$Indexer;
            3    4     2   indexer  Lorg/apache/cassandra/index/Index$Indexer;
    MethodParameters:
          Name  Flags
      indexers  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
         0: .line 902
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* indexer */
        start local 1 // org.apache.cassandra.index.Index$Indexer indexer
         2: .line 903
            aload 1 /* indexer */
            invokeinterface org.apache.cassandra.index.Index$Indexer.begin:()V
        end local 1 // org.apache.cassandra.index.Index$Indexer indexer
         3: .line 902
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 904
            return
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            2    3     1  indexer  Lorg/apache/cassandra/index/Index$Indexer;

  public void onPartitionDeletion(org.apache.cassandra.db.DeletionTime);
    descriptor: (Lorg/apache/cassandra/db/DeletionTime;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.db.DeletionTime deletionTime
         0: .line 908
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction org.apache.cassandra.db.DeletionTime top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* indexer */
        start local 2 // org.apache.cassandra.index.Index$Indexer indexer
         2: .line 909
            aload 2 /* indexer */
            aload 1 /* deletionTime */
            invokeinterface org.apache.cassandra.index.Index$Indexer.partitionDelete:(Lorg/apache/cassandra/db/DeletionTime;)V
        end local 2 // org.apache.cassandra.index.Index$Indexer indexer
         3: .line 908
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 910
            return
        end local 1 // org.apache.cassandra.db.DeletionTime deletionTime
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0    6     1  deletionTime  Lorg/apache/cassandra/db/DeletionTime;
            2    3     2       indexer  Lorg/apache/cassandra/index/Index$Indexer;
    MethodParameters:
              Name  Flags
      deletionTime  

  public void onRangeTombstone(org.apache.cassandra.db.RangeTombstone);
    descriptor: (Lorg/apache/cassandra/db/RangeTombstone;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.db.RangeTombstone tombstone
         0: .line 914
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction org.apache.cassandra.db.RangeTombstone top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* indexer */
        start local 2 // org.apache.cassandra.index.Index$Indexer indexer
         2: .line 915
            aload 2 /* indexer */
            aload 1 /* tombstone */
            invokeinterface org.apache.cassandra.index.Index$Indexer.rangeTombstone:(Lorg/apache/cassandra/db/RangeTombstone;)V
        end local 2 // org.apache.cassandra.index.Index$Indexer indexer
         3: .line 914
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 916
            return
        end local 1 // org.apache.cassandra.db.RangeTombstone tombstone
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0    6     1  tombstone  Lorg/apache/cassandra/db/RangeTombstone;
            2    3     2    indexer  Lorg/apache/cassandra/index/Index$Indexer;
    MethodParameters:
           Name  Flags
      tombstone  

  public void onInserted(org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.db.rows.Row row
         0: .line 920
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction org.apache.cassandra.db.rows.Row top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* indexer */
        start local 2 // org.apache.cassandra.index.Index$Indexer indexer
         2: .line 921
            aload 2 /* indexer */
            aload 1 /* row */
            invokeinterface org.apache.cassandra.index.Index$Indexer.insertRow:(Lorg/apache/cassandra/db/rows/Row;)V
        end local 2 // org.apache.cassandra.index.Index$Indexer indexer
         3: .line 920
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 922
            return
        end local 1 // org.apache.cassandra.db.rows.Row row
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0    6     1      row  Lorg/apache/cassandra/db/rows/Row;
            2    3     2  indexer  Lorg/apache/cassandra/index/Index$Indexer;
    MethodParameters:
      Name  Flags
      row   

  public void onUpdated(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.db.rows.Row existing
        start local 2 // org.apache.cassandra.db.rows.Row updated
         0: .line 926
            invokestatic org.apache.cassandra.db.rows.BTreeRow.sortedBuilder:()Lorg/apache/cassandra/db/rows/Row$Builder;
            astore 3 /* toRemove */
        start local 3 // org.apache.cassandra.db.rows.Row$Builder toRemove
         1: .line 927
            aload 3 /* toRemove */
            aload 1 /* existing */
            invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.newRow:(Lorg/apache/cassandra/db/Clustering;)V
         2: .line 928
            aload 3 /* toRemove */
            aload 1 /* existing */
            invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addPrimaryKeyLivenessInfo:(Lorg/apache/cassandra/db/LivenessInfo;)V
         3: .line 929
            aload 3 /* toRemove */
            aload 1 /* existing */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addRowDeletion:(Lorg/apache/cassandra/db/rows/Row$Deletion;)V
         4: .line 930
            invokestatic org.apache.cassandra.db.rows.BTreeRow.sortedBuilder:()Lorg/apache/cassandra/db/rows/Row$Builder;
            astore 4 /* toInsert */
        start local 4 // org.apache.cassandra.db.rows.Row$Builder toInsert
         5: .line 931
            aload 4 /* toInsert */
            aload 2 /* updated */
            invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.newRow:(Lorg/apache/cassandra/db/Clustering;)V
         6: .line 932
            aload 4 /* toInsert */
            aload 2 /* updated */
            invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addPrimaryKeyLivenessInfo:(Lorg/apache/cassandra/db/LivenessInfo;)V
         7: .line 933
            aload 4 /* toInsert */
            aload 2 /* updated */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addRowDeletion:(Lorg/apache/cassandra/db/rows/Row$Deletion;)V
         8: .line 935
            new org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction$1
            dup
            aload 0 /* this */
            aload 4 /* toInsert */
            aload 3 /* toRemove */
            invokespecial org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction$1.<init>:(Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;Lorg/apache/cassandra/db/rows/Row$Builder;Lorg/apache/cassandra/db/rows/Row$Builder;)V
            astore 5 /* diffListener */
        start local 5 // org.apache.cassandra.db.rows.RowDiffListener diffListener
         9: .line 959
            aload 5 /* diffListener */
            aload 2 /* updated */
            iconst_1
            anewarray org.apache.cassandra.db.rows.Row
            dup
            iconst_0
            aload 1 /* existing */
            aastore
            invokestatic org.apache.cassandra.db.rows.Rows.diff:(Lorg/apache/cassandra/db/rows/RowDiffListener;Lorg/apache/cassandra/db/rows/Row;[Lorg/apache/cassandra/db/rows/Row;)V
        10: .line 960
            aload 3 /* toRemove */
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.build:()Lorg/apache/cassandra/db/rows/Row;
            astore 6 /* oldRow */
        start local 6 // org.apache.cassandra.db.rows.Row oldRow
        11: .line 961
            aload 4 /* toInsert */
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.build:()Lorg/apache/cassandra/db/rows/Row;
            astore 7 /* newRow */
        start local 7 // org.apache.cassandra.db.rows.Row newRow
        12: .line 962
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 16
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row$Builder org.apache.cassandra.db.rows.Row$Builder org.apache.cassandra.db.rows.RowDiffListener org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
        13: aload 11
            iload 9
            aaload
            astore 8 /* indexer */
        start local 8 // org.apache.cassandra.index.Index$Indexer indexer
        14: .line 963
            aload 8 /* indexer */
            aload 6 /* oldRow */
            aload 7 /* newRow */
            invokeinterface org.apache.cassandra.index.Index$Indexer.updateRow:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
        end local 8 // org.apache.cassandra.index.Index$Indexer indexer
        15: .line 962
            iinc 9 1
      StackMap locals:
      StackMap stack:
        16: iload 9
            iload 10
            if_icmplt 13
        17: .line 964
            return
        end local 7 // org.apache.cassandra.db.rows.Row newRow
        end local 6 // org.apache.cassandra.db.rows.Row oldRow
        end local 5 // org.apache.cassandra.db.rows.RowDiffListener diffListener
        end local 4 // org.apache.cassandra.db.rows.Row$Builder toInsert
        end local 3 // org.apache.cassandra.db.rows.Row$Builder toRemove
        end local 2 // org.apache.cassandra.db.rows.Row updated
        end local 1 // org.apache.cassandra.db.rows.Row existing
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0   18     1      existing  Lorg/apache/cassandra/db/rows/Row;
            0   18     2       updated  Lorg/apache/cassandra/db/rows/Row;
            1   18     3      toRemove  Lorg/apache/cassandra/db/rows/Row$Builder;
            5   18     4      toInsert  Lorg/apache/cassandra/db/rows/Row$Builder;
            9   18     5  diffListener  Lorg/apache/cassandra/db/rows/RowDiffListener;
           11   18     6        oldRow  Lorg/apache/cassandra/db/rows/Row;
           12   18     7        newRow  Lorg/apache/cassandra/db/rows/Row;
           14   15     8       indexer  Lorg/apache/cassandra/index/Index$Indexer;
    MethodParameters:
          Name  Flags
      existing  
      updated   

  public void commit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
         0: .line 968
            aload 0 /* this */
            getfield org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.indexers:[Lorg/apache/cassandra/index/Index$Indexer;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction top int int org.apache.cassandra.index.Index$Indexer[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* indexer */
        start local 1 // org.apache.cassandra.index.Index$Indexer indexer
         2: .line 969
            aload 1 /* indexer */
            invokeinterface org.apache.cassandra.index.Index$Indexer.finish:()V
        end local 1 // org.apache.cassandra.index.Index$Indexer indexer
         3: .line 968
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 970
            return
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            2    3     1  indexer  Lorg/apache/cassandra/index/Index$Indexer;

  private boolean shouldCleanupOldValue(org.apache.cassandra.db.rows.Cell, org.apache.cassandra.db.rows.Cell);
    descriptor: (Lorg/apache/cassandra/db/rows/Cell;Lorg/apache/cassandra/db/rows/Cell;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
        start local 1 // org.apache.cassandra.db.rows.Cell oldCell
        start local 2 // org.apache.cassandra.db.rows.Cell newCell
         0: .line 983
            aload 1 /* oldCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            aload 2 /* newCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* oldCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
            aload 2 /* newCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
            lcmp
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 2 // org.apache.cassandra.db.rows.Cell newCell
        end local 1 // org.apache.cassandra.db.rows.Cell oldCell
        end local 0 // org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/index/SecondaryIndexManager$WriteTimeTransaction;
            0    2     1  oldCell  Lorg/apache/cassandra/db/rows/Cell;
            0    2     2  newCell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
         Name  Flags
      oldCell  
      newCell  
}
SourceFile: "SecondaryIndexManager.java"
NestHost: org.apache.cassandra.index.SecondaryIndexManager
InnerClasses:
  public abstract Builder = org.apache.cassandra.db.rows.Row$Builder of org.apache.cassandra.db.rows.Row
  public Deletion = org.apache.cassandra.db.rows.Row$Deletion of org.apache.cassandra.db.rows.Row
  public abstract Indexer = org.apache.cassandra.index.Index$Indexer of org.apache.cassandra.index.Index
  private final WriteTimeTransaction = org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction of org.apache.cassandra.index.SecondaryIndexManager
  org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction$1