public RedBlackNode<K,V> lowerBound(K key) {
        RedBlackNode<K,V> bestNode = null;

        RedBlackNode<K,V> node = root;
        while (node != null) {
        	int result = comparator.compare(key, node.key);
            if (result <= 0) {
            	bestNode = node;
                node = node.left;
            }
            else {
                node = node.right;
            }

        }
        return bestNode;
    }
Finds the node with the lowest key that is &gt;= to the given key.  Returns null if all nodes
in the tree have keys less than the given key.
@param key the key to search for.
@return the node with the lowest key that is &gt;= to the given key or null if no such key exists.
Ghidra/Framework/Generic/src/main/java/generic/stl/RedBlackTree.java