def METHOD_NAME(
    self,
    menu: Menu,
    menu_filter: Callable,
    serialization_format=Optional[SerializationFormat],
) -> list[dict[Any, Any]]:
    """Convert a menu into structured data.
    :param menu: The current menu showing
    :param menu_filter: The effective menu filter
    :param serialization_format: The current serialization format
    :returns: The menu converted to a structured data
    """
    self._logger.debug("menu is showing, open that")
    menu_entries = []
    for entry in menu.current:
        if isinstance(entry, ContentBase):
            entry = entry.asdict(
                content_view=ContentView.FULL,
                serialization_format=serialization_format,
            )
        menu_entries.append(entry)
    menu_entries = [
        {remove_dbl_un(k): v for k, v in c.items() if k in menu.columns} for c in menu_entries
    ]
    if menu_filter():
        menu_entries = [
            e
            for e in menu_entries
            if menu_filter().search(" ".join(str(v) for v in e.values()))
        ]
    return menu_entries