def METHOD_NAME(img, bounding_boxes, class_names=None, show=False, line_thickness=None):
    """
    :param img: image on which to draw bounding boxes
    :type img: opendr.engine.data.Image
    :param bounding_boxes: detected or groundtruth bounding boxes
    :type bounding_boxes: opendr.engine.target.BoundingBoxList
    :param class_names: list of class names to be drawn on top of the bounding boxes
    :type class_names: list
    :param show: whether to display the resulting annotated image or not
    :type show: bool
    :param line_thickness: line thickness in pixels
    :type line_thickness: int
    """
    if isinstance(img, Image):
        img = img.data
    assert isinstance(bounding_boxes, BoundingBoxList), "bounding_boxes must be of BoundingBoxList type"
    if not bounding_boxes.data:
        return draw_detections(img, np.empty((0, 4)), np.empty((0,)), np.empty((0,)), class_names, show, line_thickness)
    bounding_boxes = BoundingBoxListToNumpyArray()(bounding_boxes)
    boxes = bounding_boxes[:, :4]
    scores = bounding_boxes[:, 4]
    classes = bounding_boxes[:, 5].astype(np.int)
    return draw_detections(img, boxes, scores, classes, class_names, show, line_thickness)