def METHOD_NAME(self, bbox):
    """ Insert a bbox to the bbox tree. """
    if self.is_leaf:
        # Put the current bbox to the left child
        self.left = bbox_node(self.bbox)
        # Put the new bbox to the right child
        self.right = bbox_node(bbox)
    else:
        # Calculate the costs of adding the new bbox
        self_cost, left_cost, right_cost = self.get_costs(bbox)
        if self_cost < left_cost and self_cost < right_cost: # Add here
            self.left = bbox_node(self.bbox, left=self.left, right=self.right)
            self.right = bbox_node(bbox)
        elif left_cost < right_cost: # Add to the left
            self.left.METHOD_NAME(bbox)
        else: # Add to the right
            self.right.METHOD_NAME(bbox)
    # Update the current bbox
    self.bbox = self.left.bbox.merge(self.right.bbox)
    self.is_leaf = False