lastKeyBefore method Null safety

K? lastKeyBefore (
  1. K key
)

Get the last key in the map that is strictly smaller than key. Returns null if no key was not found.

Implementation

K? lastKeyBefore(K key) {
  if (key == null) throw ArgumentError(key);
  if (_root == null) return null;
  int comp = _splay(key);
  if (comp < 0) return _root!.key;
  _SplayTreeMapNode<K, V>? node = _root!.left;
  if (node == null) return null;
  var nodeRight = node.right;
  while (nodeRight != null) {
    node = nodeRight;
    nodeRight = node.right;
  }
  return node!.key;
}