final class org.apache.cassandra.utils.btree.NodeBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.utils.btree.NodeBuilder
  super_class: java.lang.Object
{
  private static final int MAX_KEYS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.apache.cassandra.utils.btree.NodeBuilder parent;
    descriptor: Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.cassandra.utils.btree.NodeBuilder child;
    descriptor: Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object[] buildKeys;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object[] buildChildren;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private java.lang.Object[] copyFrom;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.apache.cassandra.utils.btree.UpdateFunction updateFunction;
    descriptor: Lorg/apache/cassandra/utils/btree/UpdateFunction;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Comparator comparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object upperBound;
    descriptor: Ljava/lang/Object;
    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=3, locals=0, args_size=0
         0: .line 31
            ldc Lorg/apache/cassandra/utils/btree/NodeBuilder;
            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.utils.btree.NodeBuilder.$assertionsDisabled:Z
         3: .line 33
            iconst_1
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            iconst_2
            imul
            iadd
            putstatic org.apache.cassandra.utils.btree.NodeBuilder.MAX_KEYS:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.MAX_KEYS:I
            anewarray java.lang.Object
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
         2: .line 40
            aload 0 /* this */
            iconst_1
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.MAX_KEYS:I
            iadd
            anewarray java.lang.Object
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
         3: .line 31
            return
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  void clear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 65
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.apache.cassandra.utils.btree.NodeBuilder current
         1: .line 66
            goto 4
         2: .line 68
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.clearSelf:()V
         3: .line 69
            aload 1 /* current */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            astore 1 /* current */
         4: .line 66
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnull 5
            aload 1 /* current */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            ifnonnull 2
         5: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            astore 1 /* current */
         6: .line 72
            goto 9
         7: .line 74
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.clearSelf:()V
         8: .line 75
            aload 1 /* current */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            astore 1 /* current */
         9: .line 72
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnull 10
            aload 1 /* current */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            ifnonnull 7
        10: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.utils.btree.NodeBuilder current
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            1   11     1  current  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  void clearSelf();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 81
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.reset:([Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/UpdateFunction;Ljava/util/Comparator;)V
         1: .line 82
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
            aconst_null
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 83
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
            iconst_1
            iadd
            aconst_null
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         3: .line 84
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
         4: .line 85
            return
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  void reset(java.lang.Object[], java.lang.Object, org.apache.cassandra.utils.btree.UpdateFunction, java.util.Comparator);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/UpdateFunction;Ljava/util/Comparator;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object[] copyFrom
        start local 2 // java.lang.Object upperBound
        start local 3 // org.apache.cassandra.utils.btree.UpdateFunction updateFunction
        start local 4 // java.util.Comparator comparator
         0: .line 90
            aload 0 /* this */
            aload 1 /* copyFrom */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
         1: .line 91
            aload 0 /* this */
            aload 2 /* upperBound */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
         2: .line 92
            aload 0 /* this */
            aload 3 /* updateFunction */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
         3: .line 93
            aload 0 /* this */
            aload 4 /* comparator */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
         4: .line 94
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            invokestatic java.lang.Math.max:(II)I
            putfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
         5: .line 95
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
         6: .line 96
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
         7: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
         8: .line 98
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
         9: .line 99
            return
        end local 4 // java.util.Comparator comparator
        end local 3 // org.apache.cassandra.utils.btree.UpdateFunction updateFunction
        end local 2 // java.lang.Object upperBound
        end local 1 // java.lang.Object[] copyFrom
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0   10     1        copyFrom  [Ljava/lang/Object;
            0   10     2      upperBound  Ljava/lang/Object;
            0   10     3  updateFunction  Lorg/apache/cassandra/utils/btree/UpdateFunction;
            0   10     4      comparator  Ljava/util/Comparator;
    MethodParameters:
                Name  Flags
      copyFrom        
      upperBound      
      updateFunction  
      comparator      

  org.apache.cassandra.utils.btree.NodeBuilder finish();
    descriptor: ()Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 103
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
            istore 1 /* copyFromKeyEnd */
        start local 1 // int copyFromKeyEnd
         2: .line 106
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            iadd
            ifle 6
         3: .line 109
            aload 0 /* this */
            iload 1 /* copyFromKeyEnd */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
         4: .line 110
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
            ifne 6
         5: .line 111
            aload 0 /* this */
            iload 1 /* copyFromKeyEnd */
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyChildren:(I)V
         6: .line 113
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.isRoot:()Z
            ifeq 7
            aconst_null
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ascend:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
      StackMap locals:
      StackMap stack: org.apache.cassandra.utils.btree.NodeBuilder
         8: areturn
        end local 1 // int copyFromKeyEnd
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            2    9     1  copyFromKeyEnd  I

  org.apache.cassandra.utils.btree.NodeBuilder update(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object key
         0: .line 126
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
            istore 2 /* copyFromKeyEnd */
        start local 2 // int copyFromKeyEnd
         2: .line 129
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            istore 3 /* i */
        start local 3 // int i
         3: .line 131
            iconst_1
            istore 5 /* owns */
        start local 5 // boolean owns
         4: .line 132
            iload 3 /* i */
            iload 2 /* copyFromKeyEnd */
            if_icmpne 7
         5: .line 134
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
         6: .line 135
            goto 19
        end local 4 // boolean found
         7: .line 142
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder java.lang.Object int int top int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ineg
            istore 6 /* c */
        start local 6 // int c
         8: .line 143
            iload 6 /* c */
            iflt 13
         9: .line 145
            iload 6 /* c */
            ifne 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 4 /* found */
        start local 4 // boolean found
        12: .line 146
            goto 19
        end local 4 // boolean found
        13: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            iload 3 /* i */
            iconst_1
            iadd
            iload 2 /* copyFromKeyEnd */
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
            invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
            istore 3 /* i */
        14: .line 150
            iload 3 /* i */
            iflt 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 4 /* found */
        start local 4 // boolean found
        17: .line 151
            iload 4 /* found */
            ifne 19
        18: .line 152
            iload 3 /* i */
            ineg
            iconst_1
            isub
            istore 3 /* i */
        end local 6 // int c
        19: .line 156
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder java.lang.Object int int int int
      StackMap stack:
            iload 4 /* found */
            ifeq 26
        20: .line 158
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            astore 6 /* prev */
        start local 6 // java.lang.Object prev
        21: .line 159
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 6 /* prev */
            aload 1 /* key */
            invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* next */
        start local 7 // java.lang.Object next
        22: .line 161
            aload 6 /* prev */
            aload 7 /* next */
            if_acmpne 24
        23: .line 162
            aconst_null
            areturn
        24: .line 163
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 7 /* next */
            astore 1 /* key */
        end local 7 // java.lang.Object next
        end local 6 // java.lang.Object prev
        25: .line 164
            goto 28
        26: .line 165
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* copyFromKeyEnd */
            if_icmpne 28
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.NodeBuilder.compareUpperBound:(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 28
        27: .line 166
            iconst_0
            istore 5 /* owns */
        28: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
            ifeq 39
        29: .line 171
            iload 5 /* owns */
            ifeq 36
        30: .line 174
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
        31: .line 176
            iload 4 /* found */
            ifeq 34
        32: .line 179
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.replaceNextKey:(Ljava/lang/Object;)V
        33: .line 180
            goto 35
        34: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.addNewKey:(Ljava/lang/Object;)V
        35: .line 188
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        36: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            ifle 56
        37: .line 196
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
        38: .line 202
            goto 56
        39: .line 206
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifeq 44
        40: .line 208
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
        41: .line 209
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.replaceNextKey:(Ljava/lang/Object;)V
        42: .line 210
            aload 0 /* this */
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyChildren:(I)V
        43: .line 211
            aconst_null
            areturn
        44: .line 213
      StackMap locals:
      StackMap stack:
            iload 5 /* owns */
            ifeq 53
        45: .line 215
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
        46: .line 216
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyChildren:(I)V
        47: .line 220
            iload 3 /* i */
            iload 2 /* copyFromKeyEnd */
            if_icmpge 48
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        49: astore 6 /* newUpperBound */
        start local 6 // java.lang.Object newUpperBound
        50: .line 221
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            iload 2 /* copyFromKeyEnd */
            iload 3 /* i */
            iadd
            aaload
            checkcast java.lang.Object[]
            astore 7 /* descendInto */
        start local 7 // java.lang.Object[] descendInto
        51: .line 222
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureChild:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 7 /* descendInto */
            aload 6 /* newUpperBound */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.reset:([Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/UpdateFunction;Ljava/util/Comparator;)V
        52: .line 223
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            areturn
        end local 7 // java.lang.Object[] descendInto
        end local 6 // java.lang.Object newUpperBound
        53: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            ifgt 54
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            ifle 56
        54: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* copyFromKeyEnd */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyKeys:(I)V
        55: .line 230
            aload 0 /* this */
            iload 2 /* copyFromKeyEnd */
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.copyChildren:(I)V
        56: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ascend:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
            areturn
        end local 5 // boolean owns
        end local 4 // boolean found
        end local 3 // int i
        end local 2 // int copyFromKeyEnd
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0   57     1             key  Ljava/lang/Object;
            2   57     2  copyFromKeyEnd  I
            3   57     3               i  I
            6    7     4           found  Z
           12   13     4           found  Z
           17   57     4           found  Z
            4   57     5            owns  Z
            8   19     6               c  I
           21   25     6            prev  Ljava/lang/Object;
           22   25     7            next  Ljava/lang/Object;
           50   53     6   newUpperBound  Ljava/lang/Object;
           51   53     7     descendInto  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  private static <V> int compareUpperBound(java.util.Comparator<V>, , );
    descriptor: (Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Comparator comparator
        start local 1 // java.lang.Object value
        start local 2 // java.lang.Object upperBound
         0: .line 239
            aload 2 /* upperBound */
            getstatic org.apache.cassandra.utils.btree.BTree.POSITIVE_INFINITY:Ljava/lang/Object;
            if_acmpne 1
            iconst_m1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* comparator */
            aload 1 /* value */
            aload 2 /* upperBound */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // java.lang.Object upperBound
        end local 1 // java.lang.Object value
        end local 0 // java.util.Comparator comparator
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  comparator  Ljava/util/Comparator<TV;>;
            0    3     1       value  Ljava/lang/Object;
            0    3     2  upperBound  Ljava/lang/Object;
    Signature: <V:Ljava/lang/Object;>(Ljava/util/Comparator<TV;>;Ljava/lang/Object;Ljava/lang/Object;)I
    MethodParameters:
            Name  Flags
      comparator  
      value       
      upperBound  

  boolean isRoot();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 249
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            if_icmpgt 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  org.apache.cassandra.utils.btree.NodeBuilder ascendToRoot();
    descriptor: ()Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 256
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.apache.cassandra.utils.btree.NodeBuilder current
         1: .line 257
            goto 3
         2: .line 258
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ascend:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
            astore 1 /* current */
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.isRoot:()Z
            ifeq 2
         4: .line 259
            aload 1 /* current */
            areturn
        end local 1 // org.apache.cassandra.utils.btree.NodeBuilder current
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            1    5     1  current  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  java.lang.Object[] toNode();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 266
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            if_icmple 1
            new java.lang.AssertionError
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            invokespecial java.lang.AssertionError.<init>:(I)V
            athrow
         1: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
            iconst_0
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.buildFromRange:(IIZZ)[Ljava/lang/Object;
            areturn
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  private org.apache.cassandra.utils.btree.NodeBuilder ascend();
    descriptor: ()Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 273
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureParent:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
            pop
         1: .line 274
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
            istore 1 /* isLeaf */
        start local 1 // boolean isLeaf
         2: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            if_icmple 7
         3: .line 278
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iconst_2
            idiv
            istore 2 /* mid */
        start local 2 // int mid
         4: .line 279
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 0 /* this */
            iconst_0
            iload 2 /* mid */
            iload 1 /* isLeaf */
            iconst_1
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.buildFromRange:(IIZZ)[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iload 2 /* mid */
            aaload
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.addExtraChild:([Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 280
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 0 /* this */
            iload 2 /* mid */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 2 /* mid */
            iconst_1
            iadd
            isub
            iload 1 /* isLeaf */
            iconst_0
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.buildFromRange:(IIZZ)[Ljava/lang/Object;
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.finishChild:([Ljava/lang/Object;)V
        end local 2 // int mid
         6: .line 281
            goto 8
         7: .line 284
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 1 /* isLeaf */
            iconst_0
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.buildFromRange:(IIZZ)[Ljava/lang/Object;
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.finishChild:([Ljava/lang/Object;)V
         8: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            areturn
        end local 1 // boolean isLeaf
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            2    9     1  isLeaf  Z
            4    6     2     mid  I

  private void copyKeys(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // int upToKeyPosition
         0: .line 292
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            iload 1 /* upToKeyPosition */
            if_icmplt 2
         1: .line 293
            return
         2: .line 295
      StackMap locals:
      StackMap stack:
            iload 1 /* upToKeyPosition */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            isub
            istore 2 /* len */
        start local 2 // int len
         3: .line 296
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.$assertionsDisabled:Z
            ifne 4
            iload 2 /* len */
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            if_icmple 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* upToKeyPosition */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 298
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 2 /* len */
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureRoom:(I)V
         5: .line 299
            iload 2 /* len */
            ifle 9
         6: .line 301
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 302
            aload 0 /* this */
            iload 1 /* upToKeyPosition */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
         8: .line 303
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 2 /* len */
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
         9: .line 305
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int len
        end local 1 // int upToKeyPosition
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0   10     1  upToKeyPosition  I
            3   10     2              len  I
    MethodParameters:
                 Name  Flags
      upToKeyPosition  

  private void replaceNextKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object with
         0: .line 311
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureRoom:(I)V
         1: .line 312
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            aload 1 /* with */
            aastore
         2: .line 314
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromKeyPosition:I
         3: .line 315
            return
        end local 1 // java.lang.Object with
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0    4     1  with  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      with  

  void addNewKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object key
         0: .line 322
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureRoom:(I)V
         1: .line 323
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 1 /* key */
            invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         2: .line 324
            return
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  private void copyChildren(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // int upToChildPosition
         0: .line 330
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
            iload 1 /* upToChildPosition */
            if_icmplt 2
         1: .line 331
            return
         2: .line 332
      StackMap locals:
      StackMap stack:
            iload 1 /* upToChildPosition */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
            isub
            istore 2 /* len */
        start local 2 // int len
         3: .line 333
            iload 2 /* len */
            ifle 7
         4: .line 335
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
            iadd
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 336
            aload 0 /* this */
            iload 1 /* upToChildPosition */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
         6: .line 337
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            iload 2 /* len */
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
         7: .line 339
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int len
        end local 1 // int upToChildPosition
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0    8     1  upToChildPosition  I
            3    8     2                len  I
    MethodParameters:
                   Name  Flags
      upToChildPosition  

  private void addExtraChild(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object[] child
        start local 2 // java.lang.Object upperBound
         0: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iconst_1
            iadd
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureRoom:(I)V
         1: .line 345
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            aload 2 /* upperBound */
            aastore
         2: .line 346
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            aload 1 /* child */
            aastore
         3: .line 347
            return
        end local 2 // java.lang.Object upperBound
        end local 1 // java.lang.Object[] child
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0    4     1       child  [Ljava/lang/Object;
            0    4     2  upperBound  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      child       
      upperBound  

  private void finishChild(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // java.lang.Object[] child
         0: .line 352
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            aload 1 /* child */
            aastore
         1: .line 353
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.btree.NodeBuilder.copyFromChildPosition:I
         2: .line 354
            return
        end local 1 // java.lang.Object[] child
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0    3     1  child  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      child  

  private void ensureRoom(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // int nextBuildKeyPosition
         0: .line 359
            iload 1 /* nextBuildKeyPosition */
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.MAX_KEYS:I
            if_icmpge 2
         1: .line 360
            return
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
            iconst_1
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.buildFromRange:(IIZZ)[Ljava/lang/Object;
            astore 2 /* flushUp */
        start local 2 // java.lang.Object[] flushUp
         3: .line 364
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.ensureParent:()Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 2 /* flushUp */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            aaload
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.addExtraChild:([Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 365
            getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
            iconst_1
            iadd
            istore 3 /* size */
        start local 3 // int size
         5: .line 366
            getstatic org.apache.cassandra.utils.btree.NodeBuilder.$assertionsDisabled:Z
            ifne 6
            iload 3 /* size */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            if_icmple 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* nextBuildKeyPosition */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 367
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iload 3 /* size */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 3 /* size */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 368
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
            iload 3 /* size */
            isub
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeyPosition:I
         8: .line 369
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            arraylength
            putfield org.apache.cassandra.utils.btree.NodeBuilder.maxBuildKeyPosition:I
         9: .line 370
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            ifle 12
        10: .line 372
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            iload 3 /* size */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            iload 3 /* size */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 373
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
            iload 3 /* size */
            isub
            putfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildPosition:I
        12: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int size
        end local 2 // java.lang.Object[] flushUp
        end local 1 // int nextBuildKeyPosition
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0   13     1  nextBuildKeyPosition  I
            3   13     2               flushUp  [Ljava/lang/Object;
            5   13     3                  size  I
    MethodParameters:
                      Name  Flags
      nextBuildKeyPosition  

  private java.lang.Object[] buildFromRange(int, int, boolean, boolean);
    descriptor: (IIZZ)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
        start local 1 // int offset
        start local 2 // int keyLength
        start local 3 // boolean isLeaf
        start local 4 // boolean isExtra
         0: .line 382
            iload 2 /* keyLength */
            ifne 2
         1: .line 383
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            areturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            iload 3 /* isLeaf */
            ifeq 6
         3: .line 388
            iload 2 /* keyLength */
            iconst_1
            ior
            anewarray java.lang.Object
            astore 5 /* a */
        start local 5 // java.lang.Object[] a
         4: .line 389
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iload 1 /* offset */
            aload 5 /* a */
            iconst_0
            iload 2 /* keyLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 390
            goto 19
        end local 5 // java.lang.Object[] a
         6: .line 393
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 2 /* keyLength */
            iconst_2
            imul
            iadd
            anewarray java.lang.Object
            astore 5 /* a */
        start local 5 // java.lang.Object[] a
         7: .line 394
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildKeys:[Ljava/lang/Object;
            iload 1 /* offset */
            aload 5 /* a */
            iconst_0
            iload 2 /* keyLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 395
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.buildChildren:[Ljava/lang/Object;
            iload 1 /* offset */
            aload 5 /* a */
            iload 2 /* keyLength */
            iload 2 /* keyLength */
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 398
            iload 2 /* keyLength */
            iconst_1
            iadd
            newarray 10
            astore 6 /* indexOffsets */
        start local 6 // int[] indexOffsets
        10: .line 399
            aload 5 /* a */
            iload 2 /* keyLength */
            aaload
            checkcast java.lang.Object[]
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            istore 7 /* size */
        start local 7 // int size
        11: .line 400
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        12: goto 16
        13: .line 402
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder int int int int java.lang.Object[] int[] int int
      StackMap stack:
            aload 6 /* indexOffsets */
            iload 8 /* i */
            iload 7 /* size */
            iastore
        14: .line 403
            iload 7 /* size */
            iconst_1
            aload 5 /* a */
            iload 2 /* keyLength */
            iconst_1
            iadd
            iload 8 /* i */
            iadd
            aaload
            checkcast java.lang.Object[]
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            iadd
            iadd
            istore 7 /* size */
        15: .line 400
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            iload 2 /* keyLength */
            if_icmplt 13
        end local 8 // int i
        17: .line 405
            aload 6 /* indexOffsets */
            iload 2 /* keyLength */
            iload 7 /* size */
            iastore
        18: .line 406
            aload 5 /* a */
            aload 5 /* a */
            arraylength
            iconst_1
            isub
            aload 6 /* indexOffsets */
            aastore
        end local 7 // int size
        end local 6 // int[] indexOffsets
        19: .line 408
      StackMap locals:
      StackMap stack:
            iload 4 /* isExtra */
            ifeq 21
        20: .line 409
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 5 /* a */
            invokestatic org.apache.cassandra.utils.ObjectSizes.sizeOfArray:([Ljava/lang/Object;)J
            invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.allocated:(J)V
            goto 27
        21: .line 410
      StackMap locals:
      StackMap stack:
            aload 5 /* a */
            arraylength
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            arraylength
            if_icmpeq 27
        22: .line 411
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 5 /* a */
            invokestatic org.apache.cassandra.utils.ObjectSizes.sizeOfArray:([Ljava/lang/Object;)J
        23: .line 412
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            arraylength
            ifne 24
            lconst_0
            goto 25
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder int int int int java.lang.Object[]
      StackMap stack: org.apache.cassandra.utils.btree.UpdateFunction long
        24: aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.copyFrom:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.ObjectSizes.sizeOfArray:([Ljava/lang/Object;)J
      StackMap locals: org.apache.cassandra.utils.btree.NodeBuilder int int int int java.lang.Object[]
      StackMap stack: org.apache.cassandra.utils.btree.UpdateFunction long long
        25: lsub
        26: .line 411
            invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.allocated:(J)V
        27: .line 413
      StackMap locals:
      StackMap stack:
            aload 5 /* a */
            areturn
        end local 5 // java.lang.Object[] a
        end local 4 // boolean isExtra
        end local 3 // boolean isLeaf
        end local 2 // int keyLength
        end local 1 // int offset
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
            0   28     1        offset  I
            0   28     2     keyLength  I
            0   28     3        isLeaf  Z
            0   28     4       isExtra  Z
            4    6     5             a  [Ljava/lang/Object;
            7   28     5             a  [Ljava/lang/Object;
           10   19     6  indexOffsets  [I
           11   19     7          size  I
           12   17     8             i  I
    MethodParameters:
           Name  Flags
      offset     
      keyLength  
      isLeaf     
      isExtra    

  private org.apache.cassandra.utils.btree.NodeBuilder ensureParent();
    descriptor: ()Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 421
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            ifnonnull 3
         1: .line 423
            aload 0 /* this */
            new org.apache.cassandra.utils.btree.NodeBuilder
            dup
            invokespecial org.apache.cassandra.utils.btree.NodeBuilder.<init>:()V
            putfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
         2: .line 424
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 0 /* this */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
         3: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            ifnonnull 5
         4: .line 427
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            getstatic org.apache.cassandra.utils.btree.BTree.EMPTY_BRANCH:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.upperBound:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.updateFunction:Lorg/apache/cassandra/utils/btree/UpdateFunction;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.comparator:Ljava/util/Comparator;
            invokevirtual org.apache.cassandra.utils.btree.NodeBuilder.reset:([Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/UpdateFunction;Ljava/util/Comparator;)V
         5: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            areturn
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;

  org.apache.cassandra.utils.btree.NodeBuilder ensureChild();
    descriptor: ()Lorg/apache/cassandra/utils/btree/NodeBuilder;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
         0: .line 434
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            ifnonnull 3
         1: .line 436
            aload 0 /* this */
            new org.apache.cassandra.utils.btree.NodeBuilder
            dup
            invokespecial org.apache.cassandra.utils.btree.NodeBuilder.<init>:()V
            putfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
         2: .line 437
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            aload 0 /* this */
            putfield org.apache.cassandra.utils.btree.NodeBuilder.parent:Lorg/apache/cassandra/utils/btree/NodeBuilder;
         3: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.btree.NodeBuilder.child:Lorg/apache/cassandra/utils/btree/NodeBuilder;
            areturn
        end local 0 // org.apache.cassandra.utils.btree.NodeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/utils/btree/NodeBuilder;
}
SourceFile: "NodeBuilder.java"