def METHOD_NAME(
        section_indices: list[int], raw_parts: list[Tag]
) -> dict[str, dict[str, list[str]]]:
    sections = dict()
    for meta_idx in range(len(section_indices)):
        header_idx = section_indices[meta_idx]
        section_header = raw_parts[header_idx].get_text(strip=True).lower()
        if section_header == "meer info":
            continue
        assert section_header not in sections
        next_header_idx = (
            section_indices[meta_idx + 1] if meta_idx < len(section_indices) - 1 else -1
        )
        # Get the list of items from this header, up to the next
        # and filter out ones we don't need
        raw_section_items = raw_parts[header_idx + 1: next_header_idx]
        raw_section_items = [x for x in raw_section_items if x.name == "p"]
        sections[section_header] = dict()
        for raw_section_item in raw_section_items:
            section_item = raw_section_item.get_text(strip=True)
            assert section_item is not None
            section_item_map = parse_section_item(section_item)
            if section_item_map is None:
                continue
            sections[section_header] |= section_item_map
    return sections