code: protected final void merge(final InternalNode<K, V> nodeParent, final int slot, final Node<K, V> nodeFROMx) {
  		final LeafNode<K, V> nodeFROM = (LeafNode<K, V>) nodeFROMx;
  		final LeafNode<K, V> nodeTO = this;
  		final int sizeTO = nodeTO.allocated;
  		final int sizeFROM = nodeFROM.allocated;
  		// copy keys from nodeFROM to nodeTO
  		System.arraycopy(nodeFROM.keys, 0, nodeTO.keys, sizeTO, sizeFROM);
  		System.arraycopy(nodeFROM.values, 0, nodeTO.values, sizeTO, sizeFROM);
  		nodeTO.allocated += sizeFROM;
  		// remove key from nodeParent
  		nodeParent.remove(slot);
  		// Update Linked List (left) in new High
  		if (nodeFROM.rightid != NULL_ID) {
  			final LeafNode<K, V> rightFROM = (LeafNode<K, V>) tree.getNode(nodeFROM.rightid);
  			rightFROM.leftid = id;
  			tree.putNode(rightFROM);
  		}
  		// Update Linked List (right)
  		rightid = nodeFROM.rightid;
  		// update lowIdx on tree
  		if (leftid == 0) {
  			tree.lowIdx = id;
  		}
  		// update highIdx on tree
  		if (rightid == 0) {
  			tree.highIdx = id;
  		}
  		//
  		// Free nodeFROM
  		tree.freeNode(nodeFROM);
  	}
docs: ========= Remove Helpers =========