LongKeyNode insert(int id, long key) throws IOException {

		// Split this node if full
		if (keyCount == maxKeyCount) {
			return split(key, id);
		}

		// Insert key into this node
		int index = -(getKeyIndex(key) + 1);
		if (index < 0 || id == 0)
			throw new AssertException();
		insertEntry(index, key, id);

		if (index == 0 && parent != null) {
			parent.keyChanged(getKey(1), key);
		}

		return getRoot();
	}
Insert a new node into this node.
@param id id of new node
@param key leftmost key associated with new node.
@return root node.
Ghidra/Framework/DB/src/main/java/db/LongKeyInteriorNode.java