private FixedKeyNode split(Field newKey, int newId) throws IOException {

		// Create new interior node
		FixedKeyInteriorNode newNode = new FixedKeyInteriorNode(nodeMgr, keyType);

		moveKeysRight(this, newNode, keyCount / 2);

		// Insert new key/id
		Field rightKey = newNode.getKeyField(0);
		if (newKey.compareTo(rightKey) < 0) {
			insert(newId, newKey);
		}
		else {
			newNode.insert(newId, newKey);
		}

		if (parent != null) {
			// Ask parent to insert new node and return root
			return parent.insert(newNode.getBufferId(), rightKey);
		}

		// New parent node becomes root
		return new FixedKeyInteriorNode(nodeMgr, keyType, getKey(0), buffer.getId(),
			rightKey.getBinaryData(), newNode.getBufferId());
	}
Split this interior node and insert new child entry (key and buffer ID).  
Assumes 3 or more child keys exist in this node.
@param newKey new child key 
@param newId new child node's buffer ID
@return root node.
@throws IOException thrown if IO error occurs
Ghidra/Framework/DB/src/main/java/db/FixedKeyInteriorNode.java