def METHOD_NAME(self, deepness: int = 3):
    """
    Gets octree blocks outside the given closed shell.
    :param deepness: Optional. The depth of octree subdivision (default: 3).
    :return: A list of octree blocks that are outside the given closed shell.
    """
    block_volume = self.block.volume()
    min_block_volume = block_volume / (8 ** deepness)
    dict_faces_to_box = {box: [] for box in self.block.octree()}
    for box, list_faces in dict_faces_to_box.items():
        for face in self.closed_shell.faces:
            if (
                    box.is_face_intersecting(face)
                    or box.is_face_inside(face)
                    or box.bounding_box.distance_to_bbox(face.bounding_box) <= 1e-6
            ):
                list_faces.append(face)
    not_intersecting_boxes = []
    inside_boxes = []
    for octant in self.block.octree():
        dict_faces_to_box_ = {octant: dict_faces_to_box[octant]}
        octant_not_intersecting_boxes = []
        while dict_faces_to_box_:
            box, list_faces = next(iter(dict_faces_to_box_.items()))
            if not list_faces:
                if not box.is_inside_shell(self.closed_shell):
                    octant_not_intersecting_boxes.append(box)
                else:
                    inside_boxes.append(box)
                del dict_faces_to_box_[box]
                continue
            divided_boxes = box.octree()
            if divided_boxes[0].volume() >= min_block_volume:
                for divided_box in divided_boxes:
                    new_list_faces = [
                        face
                        for face in list_faces
                        if (
                                divided_box.is_face_intersecting(face)
                                or divided_box.is_face_inside(face)
                                or divided_box.bounding_box.distance_to_bbox(face.bounding_box) <= 1e-6
                        )
                    ]
                    dict_faces_to_box_[divided_box] = new_list_faces
            del dict_faces_to_box_[box]
        not_intersecting_boxes.append(octant_not_intersecting_boxes)
    return not_intersecting_boxes