def METHOD_NAME(self, line_items, coupons=[]):
    """Return line items with the maximum possible discount applied."""
    if not line_items:
        return None
    if len({line_item.item_id for line_item in line_items}) > 1:
        raise ValueError("line_items must be of the same item_id")
    valid_discounts = self.get_valid_discounts(line_items, coupons)
    if len(valid_discounts) > 1:
        # Multiple discounts found, find the combination of discounts that results
        # in the maximum discount and apply those discounts to the line items.
        return self.apply_max_discount(valid_discounts, line_items)
    elif len(valid_discounts) == 1:
        return self.apply_discount(valid_discounts[0], line_items)
    return line_items