public class org.apache.cassandra.db.partitions.AtomicBTreePartition extends org.apache.cassandra.db.partitions.AbstractBTreePartition
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.partitions.AtomicBTreePartition
  super_class: org.apache.cassandra.db.partitions.AbstractBTreePartition
{
  public static final long EMPTY_SIZE;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private static final int TRACKER_PESSIMISTIC_LOCKING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  private static final int ALLOCATION_GRANULARITY_BYTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final long EXCESS_WASTE_BYTES;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10485760

  private static final int EXCESS_WASTE_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10240

  private static final int CLOCK_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.apache.cassandra.db.partitions.AtomicBTreePartition> wasteTrackerUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.apache.cassandra.db.partitions.AtomicBTreePartition, org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder> refUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;>;

  private volatile int wasteTracker;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.apache.cassandra.utils.memory.MemtableAllocator allocator;
    descriptor: Lorg/apache/cassandra/utils/memory/MemtableAllocator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder ref;
    descriptor: Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 53
            new org.apache.cassandra.db.partitions.AtomicBTreePartition
            dup
            ldc "keyspace"
            ldc "table"
            invokestatic org.apache.cassandra.config.CFMetaData.createFake:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
         1: .line 54
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getPartitioner:()Lorg/apache/cassandra/dht/IPartitioner;
            iconst_1
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            invokeinterface org.apache.cassandra.dht.IPartitioner.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
         2: .line 55
            aconst_null
         3: .line 53
            invokespecial org.apache.cassandra.db.partitions.AtomicBTreePartition.<init>:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/utils/memory/MemtableAllocator;)V
            invokestatic org.apache.cassandra.utils.ObjectSizes.measure:(Ljava/lang/Object;)J
            putstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.EMPTY_SIZE:J
         4: .line 70
            ldc Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            ldc "wasteTracker"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTrackerUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         5: .line 71
            ldc Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            ldc Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
            ldc "ref"
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.refUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.utils.memory.MemtableAllocator);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/utils/memory/MemtableAllocator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.config.CFMetaData metadata
        start local 2 // org.apache.cassandra.db.DecoratedKey partitionKey
        start local 3 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
         0: .line 89
            aload 0 /* this */
            aload 1 /* metadata */
            aload 2 /* partitionKey */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.<init>:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;)V
         1: .line 81
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTracker:I
         2: .line 90
            aload 0 /* this */
            aload 3 /* allocator */
            putfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
         3: .line 91
            aload 0 /* this */
            getstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.EMPTY:Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
            putfield org.apache.cassandra.db.partitions.AtomicBTreePartition.ref:Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
         4: .line 92
            return
        end local 3 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
        end local 2 // org.apache.cassandra.db.DecoratedKey partitionKey
        end local 1 // org.apache.cassandra.config.CFMetaData metadata
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0    5     1      metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    5     2  partitionKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    5     3     allocator  Lorg/apache/cassandra/utils/memory/MemtableAllocator;
    MethodParameters:
              Name  Flags
      metadata      
      partitionKey  
      allocator     

  protected org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder holder();
    descriptor: ()Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 96
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.ref:Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  protected boolean canHaveShadowedData();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 101
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public long[] addAllWithSizeDelta(org.apache.cassandra.db.partitions.PartitionUpdate, org.apache.cassandra.utils.concurrent.OpOrder$Group, org.apache.cassandra.index.transactions.UpdateTransaction);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/index/transactions/UpdateTransaction;)[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=18, args_size=4
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        start local 2 // org.apache.cassandra.utils.concurrent.OpOrder$Group writeOp
        start local 3 // org.apache.cassandra.index.transactions.UpdateTransaction indexer
         0: .line 112
            new org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            aload 2 /* writeOp */
            aload 3 /* indexer */
            invokespecial org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.<init>:(Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;Lorg/apache/cassandra/utils/memory/MemtableAllocator;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/index/transactions/UpdateTransaction;)V
            astore 4 /* updater */
        start local 4 // org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater updater
         1: .line 113
            aconst_null
            astore 5 /* inputDeletionInfoCopy */
        start local 5 // org.apache.cassandra.db.DeletionInfo inputDeletionInfoCopy
         2: .line 114
            iconst_0
            istore 6 /* monitorOwned */
        start local 6 // boolean monitorOwned
         3: .line 117
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition.usePessimisticLocking:()Z
            ifeq 6
         4: .line 119
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.concurrent.Locks.monitorEnterUnsafe:(Ljava/lang/Object;)V
         5: .line 120
            iconst_1
            istore 6 /* monitorOwned */
         6: .line 123
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int
      StackMap stack:
            aload 3 /* indexer */
            invokeinterface org.apache.cassandra.index.transactions.UpdateTransaction.start:()V
         7: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.ref:Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
            astore 7 /* current */
        start local 7 // org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder current
         8: .line 128
            aload 4 /* updater */
            aload 7 /* current */
            putfield org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.ref:Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
         9: .line 129
            aload 4 /* updater */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.reset:()V
        10: .line 131
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.getPartitionDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            invokevirtual org.apache.cassandra.db.DeletionTime.isLive:()Z
            ifne 12
        11: .line 132
            aload 3 /* indexer */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.getPartitionDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            invokeinterface org.apache.cassandra.index.transactions.UpdateTransaction.onPartitionDeletion:(Lorg/apache/cassandra/db/DeletionTime;)V
        12: .line 134
      StackMap locals: org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.hasRanges:()Z
            ifeq 14
        13: .line 135
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            iconst_0
            invokeinterface org.apache.cassandra.db.DeletionInfo.rangeIterator:(Z)Ljava/util/Iterator;
            aload 3 /* indexer */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lorg/apache/cassandra/index/transactions/UpdateTransaction;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/index/transactions/UpdateTransaction.onRangeTombstone(Lorg/apache/cassandra/db/RangeTombstone;)V (9 itf)
                  (Lorg/apache/cassandra/db/RangeTombstone;)V
            invokeinterface java.util.Iterator.forEachRemaining:(Ljava/util/function/Consumer;)V
        14: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.deletionInfo:Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.mayModify:(Lorg/apache/cassandra/db/DeletionInfo;)Z
            ifeq 20
        15: .line 140
            aload 5 /* inputDeletionInfoCopy */
            ifnonnull 17
        16: .line 141
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            getstatic org.apache.cassandra.utils.memory.HeapAllocator.instance:Lorg/apache/cassandra/utils/memory/HeapAllocator;
            invokeinterface org.apache.cassandra.db.DeletionInfo.copy:(Lorg/apache/cassandra/utils/memory/AbstractAllocator;)Lorg/apache/cassandra/db/DeletionInfo;
            astore 5 /* inputDeletionInfoCopy */
        17: .line 143
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.deletionInfo:Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.mutableCopy:()Lorg/apache/cassandra/db/MutableDeletionInfo;
            aload 5 /* inputDeletionInfoCopy */
            invokevirtual org.apache.cassandra.db.MutableDeletionInfo.add:(Lorg/apache/cassandra/db/DeletionInfo;)Lorg/apache/cassandra/db/DeletionInfo;
            astore 9 /* deletionInfo */
        start local 9 // org.apache.cassandra.db.DeletionInfo deletionInfo
        18: .line 144
            aload 4 /* updater */
            aload 9 /* deletionInfo */
            invokeinterface org.apache.cassandra.db.DeletionInfo.unsharedHeapSize:()J
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.deletionInfo:Lorg/apache/cassandra/db/DeletionInfo;
            invokeinterface org.apache.cassandra.db.DeletionInfo.unsharedHeapSize:()J
            lsub
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.allocated:(J)V
        19: .line 145
            goto 21
        end local 9 // org.apache.cassandra.db.DeletionInfo deletionInfo
        20: .line 148
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.deletionInfo:Lorg/apache/cassandra/db/DeletionInfo;
            astore 9 /* deletionInfo */
        start local 9 // org.apache.cassandra.db.DeletionInfo deletionInfo
        21: .line 151
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.transactions.UpdateTransaction org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder top org.apache.cassandra.db.DeletionInfo
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.columns:()Lorg/apache/cassandra/db/PartitionColumns;
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.columns:Lorg/apache/cassandra/db/PartitionColumns;
            invokevirtual org.apache.cassandra.db.PartitionColumns.mergeTo:(Lorg/apache/cassandra/db/PartitionColumns;)Lorg/apache/cassandra/db/PartitionColumns;
            astore 10 /* columns */
        start local 10 // org.apache.cassandra.db.PartitionColumns columns
        22: .line 152
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.staticRow:()Lorg/apache/cassandra/db/rows/Row;
            astore 11 /* newStatic */
        start local 11 // org.apache.cassandra.db.rows.Row newStatic
        23: .line 153
            aload 11 /* newStatic */
            invokeinterface org.apache.cassandra.db.rows.Row.isEmpty:()Z
            ifeq 25
        24: .line 154
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.staticRow:Lorg/apache/cassandra/db/rows/Row;
            goto 27
        25: .line 155
      StackMap locals: org.apache.cassandra.db.PartitionColumns org.apache.cassandra.db.rows.Row
      StackMap stack:
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.staticRow:Lorg/apache/cassandra/db/rows/Row;
            invokeinterface org.apache.cassandra.db.rows.Row.isEmpty:()Z
            ifeq 26
            aload 4 /* updater */
            aload 11 /* newStatic */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/rows/Row;
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 4 /* updater */
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.staticRow:Lorg/apache/cassandra/db/rows/Row;
            aload 11 /* newStatic */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/rows/Row;
        27: .line 153
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.rows.Row
            astore 12 /* staticRow */
        start local 12 // org.apache.cassandra.db.rows.Row staticRow
        28: .line 156
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.tree:[Ljava/lang/Object;
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            aload 1 /* update */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.rowCount:()I
            aload 4 /* updater */
            invokestatic org.apache.cassandra.utils.btree.BTree.update:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
            astore 13 /* tree */
        start local 13 // java.lang.Object[] tree
        29: .line 157
            aload 7 /* current */
            getfield org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.stats:Lorg/apache/cassandra/db/rows/EncodingStats;
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.stats:()Lorg/apache/cassandra/db/rows/EncodingStats;
            invokevirtual org.apache.cassandra.db.rows.EncodingStats.mergeWith:(Lorg/apache/cassandra/db/rows/EncodingStats;)Lorg/apache/cassandra/db/rows/EncodingStats;
            astore 14 /* newStats */
        start local 14 // org.apache.cassandra.db.rows.EncodingStats newStats
        30: .line 159
            aload 13 /* tree */
            ifnull 37
            getstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.refUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aload 7 /* current */
            new org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder
            dup
            aload 10 /* columns */
            aload 13 /* tree */
            aload 9 /* deletionInfo */
            aload 12 /* staticRow */
            aload 14 /* newStats */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder.<init>:(Lorg/apache/cassandra/db/PartitionColumns;[Ljava/lang/Object;Lorg/apache/cassandra/db/DeletionInfo;Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/EncodingStats;)V
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 37
        31: .line 161
            aload 4 /* updater */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.finish:()V
        32: .line 162
            iconst_2
            newarray 11
            dup
            iconst_0
            aload 4 /* updater */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.dataSize:J
            lastore
            dup
            iconst_1
            aload 4 /* updater */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.colUpdateTimeDelta:J
            lastore
            astore 17
        33: .line 181
            aload 3 /* indexer */
            invokeinterface org.apache.cassandra.index.transactions.UpdateTransaction.commit:()V
        34: .line 182
            iload 6 /* monitorOwned */
            ifeq 36
        35: .line 183
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.concurrent.Locks.monitorExitUnsafe:(Ljava/lang/Object;)V
        36: .line 162
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.transactions.UpdateTransaction org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder top org.apache.cassandra.db.DeletionInfo org.apache.cassandra.db.PartitionColumns org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row java.lang.Object[] org.apache.cassandra.db.rows.EncodingStats top top long[]
      StackMap stack:
            aload 17
            areturn
        37: .line 164
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.transactions.UpdateTransaction org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder top org.apache.cassandra.db.DeletionInfo org.apache.cassandra.db.PartitionColumns org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row java.lang.Object[] org.apache.cassandra.db.rows.EncodingStats
      StackMap stack:
            iload 6 /* monitorOwned */
            ifne 7
        38: .line 166
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition.usePessimisticLocking:()Z
            istore 15 /* shouldLock */
        start local 15 // boolean shouldLock
        39: .line 167
            iload 15 /* shouldLock */
            ifne 41
        40: .line 169
            aload 0 /* this */
            aload 4 /* updater */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.heapSize:J
            invokevirtual org.apache.cassandra.db.partitions.AtomicBTreePartition.updateWastedAllocationTracker:(J)Z
            istore 15 /* shouldLock */
        41: .line 171
      StackMap locals: int
      StackMap stack:
            iload 15 /* shouldLock */
            ifeq 7
        42: .line 173
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.concurrent.Locks.monitorEnterUnsafe:(Ljava/lang/Object;)V
        43: .line 174
            iconst_1
            istore 6 /* monitorOwned */
        end local 15 // boolean shouldLock
        end local 14 // org.apache.cassandra.db.rows.EncodingStats newStats
        end local 13 // java.lang.Object[] tree
        end local 12 // org.apache.cassandra.db.rows.Row staticRow
        end local 11 // org.apache.cassandra.db.rows.Row newStatic
        end local 10 // org.apache.cassandra.db.PartitionColumns columns
        end local 9 // org.apache.cassandra.db.DeletionInfo deletionInfo
        end local 7 // org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder current
        44: .line 125
            goto 7
        45: .line 180
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.transactions.UpdateTransaction org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int
      StackMap stack: java.lang.Throwable
            astore 16
        46: .line 181
            aload 3 /* indexer */
            invokeinterface org.apache.cassandra.index.transactions.UpdateTransaction.commit:()V
        47: .line 182
            iload 6 /* monitorOwned */
            ifeq 49
        48: .line 183
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.concurrent.Locks.monitorExitUnsafe:(Ljava/lang/Object;)V
        49: .line 184
      StackMap locals: org.apache.cassandra.db.partitions.AtomicBTreePartition org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.transactions.UpdateTransaction org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater org.apache.cassandra.db.DeletionInfo int top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 16
            athrow
        end local 6 // boolean monitorOwned
        end local 5 // org.apache.cassandra.db.DeletionInfo inputDeletionInfoCopy
        end local 4 // org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater updater
        end local 3 // org.apache.cassandra.index.transactions.UpdateTransaction indexer
        end local 2 // org.apache.cassandra.utils.concurrent.OpOrder$Group writeOp
        end local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   50     0                   this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0   50     1                 update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            0   50     2                writeOp  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            0   50     3                indexer  Lorg/apache/cassandra/index/transactions/UpdateTransaction;
            1   50     4                updater  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition$RowUpdater;
            2   50     5  inputDeletionInfoCopy  Lorg/apache/cassandra/db/DeletionInfo;
            3   50     6           monitorOwned  Z
            8   44     7                current  Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
           18   20     9           deletionInfo  Lorg/apache/cassandra/db/DeletionInfo;
           21   44     9           deletionInfo  Lorg/apache/cassandra/db/DeletionInfo;
           22   44    10                columns  Lorg/apache/cassandra/db/PartitionColumns;
           23   44    11              newStatic  Lorg/apache/cassandra/db/rows/Row;
           28   44    12              staticRow  Lorg/apache/cassandra/db/rows/Row;
           29   44    13                   tree  [Ljava/lang/Object;
           30   44    14               newStats  Lorg/apache/cassandra/db/rows/EncodingStats;
           39   44    15             shouldLock  Z
      Exception table:
        from    to  target  type
           3    33      45  any
          37    45      45  any
    MethodParameters:
         Name  Flags
      update   final
      writeOp  
      indexer  

  public org.apache.cassandra.db.DeletionInfo deletionInfo();
    descriptor: ()Lorg/apache/cassandra/db/DeletionInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 190
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.deletionInfo:()Lorg/apache/cassandra/db/DeletionInfo;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToDeletionInfo:(Lorg/apache/cassandra/db/DeletionInfo;)Lorg/apache/cassandra/db/DeletionInfo;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public org.apache.cassandra.db.rows.Row staticRow();
    descriptor: ()Lorg/apache/cassandra/db/rows/Row;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 196
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.staticRow:()Lorg/apache/cassandra/db/rows/Row;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToStatic:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/rows/Row;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public org.apache.cassandra.db.DecoratedKey partitionKey();
    descriptor: ()Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 202
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartitionKey:(Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/DecoratedKey;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public org.apache.cassandra.db.rows.Row getRow(org.apache.cassandra.db.Clustering);
    descriptor: (Lorg/apache/cassandra/db/Clustering;)Lorg/apache/cassandra/db/rows/Row;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.db.Clustering clustering
         0: .line 208
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            aload 1 /* clustering */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.getRow:(Lorg/apache/cassandra/db/Clustering;)Lorg/apache/cassandra/db/rows/Row;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToRow:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/rows/Row;
            areturn
        end local 1 // org.apache.cassandra.db.Clustering clustering
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0    1     1  clustering  Lorg/apache/cassandra/db/Clustering;
    MethodParameters:
            Name  Flags
      clustering  

  public org.apache.cassandra.db.rows.Row lastRow();
    descriptor: ()Lorg/apache/cassandra/db/rows/Row;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 214
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.lastRow:()Lorg/apache/cassandra/db/rows/Row;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToRow:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/rows/Row;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public org.apache.cassandra.utils.SearchIterator<org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.Row> searchIterator(org.apache.cassandra.db.filter.ColumnFilter, boolean);
    descriptor: (Lorg/apache/cassandra/db/filter/ColumnFilter;Z)Lorg/apache/cassandra/utils/SearchIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.db.filter.ColumnFilter columns
        start local 2 // boolean reversed
         0: .line 220
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            aload 1 /* columns */
            iload 2 /* reversed */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.searchIterator:(Lorg/apache/cassandra/db/filter/ColumnFilter;Z)Lorg/apache/cassandra/utils/SearchIterator;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartition:(Lorg/apache/cassandra/utils/SearchIterator;)Lorg/apache/cassandra/utils/SearchIterator;
            areturn
        end local 2 // boolean reversed
        end local 1 // org.apache.cassandra.db.filter.ColumnFilter columns
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0    1     1   columns  Lorg/apache/cassandra/db/filter/ColumnFilter;
            0    1     2  reversed  Z
    Signature: (Lorg/apache/cassandra/db/filter/ColumnFilter;Z)Lorg/apache/cassandra/utils/SearchIterator<Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Row;>;
    MethodParameters:
          Name  Flags
      columns   
      reversed  

  public org.apache.cassandra.db.rows.UnfilteredRowIterator unfilteredIterator(org.apache.cassandra.db.filter.ColumnFilter, org.apache.cassandra.db.Slices, boolean);
    descriptor: (Lorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/Slices;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.db.filter.ColumnFilter selection
        start local 2 // org.apache.cassandra.db.Slices slices
        start local 3 // boolean reversed
         0: .line 226
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            aload 1 /* selection */
            aload 2 /* slices */
            iload 3 /* reversed */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.unfilteredIterator:(Lorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/Slices;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartition:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            areturn
        end local 3 // boolean reversed
        end local 2 // org.apache.cassandra.db.Slices slices
        end local 1 // org.apache.cassandra.db.filter.ColumnFilter selection
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0    1     1  selection  Lorg/apache/cassandra/db/filter/ColumnFilter;
            0    1     2     slices  Lorg/apache/cassandra/db/Slices;
            0    1     3   reversed  Z
    MethodParameters:
           Name  Flags
      selection  
      slices     
      reversed   

  public org.apache.cassandra.db.rows.UnfilteredRowIterator unfilteredIterator();
    descriptor: ()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 232
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.unfilteredIterator:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartition:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  public org.apache.cassandra.db.rows.UnfilteredRowIterator unfilteredIterator(org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder, org.apache.cassandra.db.filter.ColumnFilter, org.apache.cassandra.db.Slices, boolean);
    descriptor: (Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;Lorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/Slices;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder current
        start local 2 // org.apache.cassandra.db.filter.ColumnFilter selection
        start local 3 // org.apache.cassandra.db.Slices slices
        start local 4 // boolean reversed
         0: .line 238
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            aload 1 /* current */
            aload 2 /* selection */
            aload 3 /* slices */
            iload 4 /* reversed */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.unfilteredIterator:(Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;Lorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/Slices;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartition:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            areturn
        end local 4 // boolean reversed
        end local 3 // org.apache.cassandra.db.Slices slices
        end local 2 // org.apache.cassandra.db.filter.ColumnFilter selection
        end local 1 // org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder current
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0    1     1    current  Lorg/apache/cassandra/db/partitions/AbstractBTreePartition$Holder;
            0    1     2  selection  Lorg/apache/cassandra/db/filter/ColumnFilter;
            0    1     3     slices  Lorg/apache/cassandra/db/Slices;
            0    1     4   reversed  Z
    MethodParameters:
           Name  Flags
      current    
      selection  
      slices     
      reversed   

  public java.util.Iterator<org.apache.cassandra.db.rows.Row> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 244
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.allocator:Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.ensureOnHeap:()Lorg/apache/cassandra/utils/memory/EnsureOnHeap;
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.partitions.AbstractBTreePartition.iterator:()Ljava/util/Iterator;
            invokevirtual org.apache.cassandra.utils.memory.EnsureOnHeap.applyToPartition:(Ljava/util/Iterator;)Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
    Signature: ()Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Row;>;

  public boolean usePessimisticLocking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
         0: .line 249
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTracker:I
            ldc 2147483647
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;

  private boolean updateWastedAllocationTracker(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
        start local 1 // long wastedBytes
         0: .line 261
            lload 1 /* wastedBytes */
            ldc 10485760
            lcmp
            ifge 14
         1: .line 264
            lload 1 /* wastedBytes */
            ldc 1024
            ladd
            lconst_1
            lsub
            l2i
            sipush 1024
            idiv
            istore 3 /* wastedAllocation */
        start local 3 // int wastedAllocation
         2: .line 267
            goto 12
        start local 4 // int oldTrackerValue
         3: .line 270
      StackMap locals: int int
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            bipush 17
            lushr
            l2i
            istore 5 /* time */
        start local 5 // int time
         4: .line 271
            iload 4 /* oldTrackerValue */
            iload 5 /* time */
            isub
            istore 6 /* delta */
        start local 6 // int delta
         5: .line 272
            iload 4 /* oldTrackerValue */
            ifeq 6
            iload 6 /* delta */
            ifge 6
            iload 6 /* delta */
            sipush -10240
            if_icmpge 7
         6: .line 273
      StackMap locals: int int
      StackMap stack:
            sipush -10240
            istore 6 /* delta */
         7: .line 274
      StackMap locals:
      StackMap stack:
            iload 6 /* delta */
            iload 3 /* wastedAllocation */
            iadd
            istore 6 /* delta */
         8: .line 275
            iload 6 /* delta */
            iflt 10
         9: .line 276
            goto 14
        10: .line 277
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTrackerUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            iload 4 /* oldTrackerValue */
            iload 5 /* time */
            iload 6 /* delta */
            iadd
            invokestatic org.apache.cassandra.db.partitions.AtomicBTreePartition.avoidReservedValues:(I)I
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 12
        11: .line 278
            iconst_0
            ireturn
        end local 6 // int delta
        end local 5 // int time
        end local 4 // int oldTrackerValue
        12: .line 267
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            aload 0 /* this */
            getfield org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTracker:I
            dup
            istore 4 /* oldTrackerValue */
        start local 4 // int oldTrackerValue
        13: if_icmpne 3
        end local 4 // int oldTrackerValue
        end local 3 // int wastedAllocation
        14: .line 282
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.partitions.AtomicBTreePartition.wasteTrackerUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            ldc 2147483647
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
        15: .line 284
            iconst_1
            ireturn
        end local 1 // long wastedBytes
        end local 0 // org.apache.cassandra.db.partitions.AtomicBTreePartition this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/apache/cassandra/db/partitions/AtomicBTreePartition;
            0   16     1       wastedBytes  J
            2   14     3  wastedAllocation  I
            3   12     4   oldTrackerValue  I
           13   14     4   oldTrackerValue  I
            4   12     5              time  I
            5   12     6             delta  I
    MethodParameters:
             Name  Flags
      wastedBytes  

  private static int avoidReservedValues(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int wasteTracker
         0: .line 289
            iload 0 /* wasteTracker */
            ifeq 1
            iload 0 /* wasteTracker */
            ldc 2147483647
            if_icmpne 2
         1: .line 290
      StackMap locals:
      StackMap stack:
            iload 0 /* wasteTracker */
            iconst_1
            iadd
            ireturn
         2: .line 291
      StackMap locals:
      StackMap stack:
            iload 0 /* wasteTracker */
            ireturn
        end local 0 // int wasteTracker
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  wasteTracker  I
    MethodParameters:
              Name  Flags
      wasteTracker  
}
SourceFile: "AtomicBTreePartition.java"
NestMembers:
  org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  protected final Holder = org.apache.cassandra.db.partitions.AbstractBTreePartition$Holder of org.apache.cassandra.db.partitions.AbstractBTreePartition
  private final RowUpdater = org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater of org.apache.cassandra.db.partitions.AtomicBTreePartition
  public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder