def _is_overlapping_with_headers(
    cell_bbox: BBox, headers: List[_TableHeader], overlap_threshold: float = 0.9
) -> bool:
    """
    Check if a given cell's bounding box overlaps with any of the header cells' bounding boxes.
    If the overlap area is above the threshold percentage of the cell's area, return True.
    """
    cell_area = calculate_area(cell_bbox)

    for header in headers:
        for hcell in header.cells:
            intersection = calc_bbox_intersection(cell_bbox, hcell.bbox)
            if intersection:
                intersection_area = calculate_area(intersection)
                overlap_percentage = intersection_area / cell_area
                if overlap_percentage > overlap_threshold:
                    return True
    return False

    Check if a given cell's bounding box overlaps with any of the header cells' bounding boxes.
    If the overlap area is above the threshold percentage of the cell's area, return True.
    
src/openparse/tables/table_transformers/ml.py