def METHOD_NAME(self, response, header, year_str):
    for column in header.xpath("./following-sibling::table[1]").css("td"):
        # Use the immediate child p element instead of the td el if it exists
        if len(column.css("p")) > 0:
            column = column.css("p")[0]
        # Because the markup is irregular and based on br tags, split the HTML
        # content on br tags and then create separate selectors for each one
        column_str = column.extract()
        if isinstance(column_str, list):
            column_str = " ".join(column_str)
        for item_str in re.split(r"\<br[\s\/]*?\>", column_str):
            item = Selector(text=re.sub(r"\s+", " ", item_str).strip())
            start = self._parse_start(item, year_str)
            if not start:
                continue
            meeting = Meeting(
                title="Commission",
                description="",
                classification=COMMISSION,
                start=start,
                end=None,
                time_notes="See details to confirm time",
                all_day=False,
                location=self.location,
                links=self._parse_links(item, response),
                source=response.url,
            )
            meeting["id"] = self._get_id(meeting)
            meeting["status"] = self._get_status(meeting, text=item_str)
            yield meeting