int getIdIndex(long key) {

		int min = 1;
		int max = keyCount - 1;

		while (min <= max) {
			int i = (min + max) / 2;
			long k = getKey(i);
			if (k == key) {
				return i;
			}
			else if (k < key) {
				min = i + 1;
			}
			else {
				max = i - 1;
			}
		}
		return max;
	}
Perform a binary search to locate the specified key and derive an index
into the Buffer ID storage.  This method is intended to locate the child
node which contains the specified key.  The returned index corresponds 
to a child's stored buffer/node ID and may correspond to another interior
node or a leaf record node.  Each stored key within this interior node
effectively identifies the maximum key contained within the corresponding
child node.
@param key key to search for
@return int buffer ID index of child node.  An existing positive index
value will always be returned.
Ghidra/Framework/DB/src/main/java/db/LongKeyInteriorNode.java