def _get_y_header(UPPER_PAGE_EDGE, box_parameters, Y1_MAX, verbose):
    """
    Note: in PDF the upper border of a column can easily be higher than the
    lower boarder of its header (anyway, I'm extrapolating these values).
    --> header text will eventually be in a column, and column text will be found
        inside the header's box ...
    "PDF is evil." (Yusuke Shinyama)
    """
    headers = list()
    cols = list()
    for params in box_parameters:
        if params.y1 == Y1_MAX:
            headers.append(params)
        else:
            cols.append(params)
    upper_cols_border = 0
    for params in cols:
        if params.y1 > upper_cols_border:
            if params.y1 > params.y0:
                upper_cols_border = params.y1
    y0 = 0
    for params in headers:
        if params.y0 < upper_cols_border:
            if params.y0 > y0:
                y0 = params.y0
        else:
            y0 = upper_cols_border
    Y_HEADER = y0
    return Y_HEADER
