docs: def find_node(self, x: int, y: int) -> Optional["BSP"]:
          """Return the deepest node which contains these coordinates.
  
          Returns:
              Optional[BSP]: BSP object or None.
          """
          if not self.contains(x, y):
              return None
          for child in self.children:
              found = child.find_node(x, y)  # type: Optional["BSP"]
              if found:
                  return found
          return self