def METHOD_NAME(response):
    pages = []
    read_result = response.analyze_result.read_results
    page_result = response.analyze_result.page_results
    for idx, page in enumerate(read_result):
        if hasattr(page, "selection_marks"):
            selection_marks = (
                [FormSelectionMark._from_generated(mark, page.page) for mark in page.selection_marks]
                if page.selection_marks
                else None
            )
        else:
            selection_marks = None
        form_page = FormPage(
            page_number=page.page,
            text_angle=adjust_text_angle(page.angle),
            width=page.width,
            height=page.height,
            unit=page.unit,
            lines=[FormLine._from_generated(line, page=page.page) for line in page.lines] if page.lines else None,
            tables=prepare_tables(page_result[idx], read_result) if page_result else None,
            selection_marks=selection_marks,
        )
        pages.append(form_page)
    return pages