def METHOD_NAME(self, url):
    page = self.get(url).text
    page = lxml.html.fromstring(page)
    page.make_links_absolute(url)
    title = page.xpath("//a[@id='linkTitle']//text()")[0]
    date = page.xpath("//span[@id='lDate']/text()")[0]
    time = page.xpath("//span[@id='lTime']/text()")[0]
    location = page.xpath("//span[@id='lLocation']/text()")[0]
    substs = {"AM": ["A.M.", "a.m."], "PM": ["P.M.", "p.m.", "Noon"]}
    for key, values in substs.items():
        for value in values:
            time = time.replace(value, key)
    # Make sure there's a space between the time's minutes and its AM/PM
    if re.search(r"(?i)\d[AP]M$", time):
        time = time[:-2] + " " + time[-2:]
    if re.search("UPON ADJ|TBA", " ".join(time.split()).upper()):
        all_day = True
        when = datetime.datetime.strptime(date, "%B %d, %Y")
    else:
        all_day = False
        when = dateutil.parser.parse(f"{date} {time}".strip())
    # when = self._tz.localize(when)
    description = "Meeting on %s of the %s" % (date, title)
    chambers = {"house": "lower", "senate": "upper", "joint": "legislature"}
    for chamber_ in chambers:
        if chamber_ in title.lower():
            break
    else:
        return
    event = Event(
        name=description,
        start_date=self._tz.localize(when),
        location_name=location,
        all_day=all_day,
    )
    event.add_source(url)
    event.add_participant(title, note="host", type="committee")
    trs = iter(page.xpath("//tr[@valign='top']"))
    next(trs)
    for tr in trs:
        try:
            _, _, bill, whom, descr = tr.xpath("./td")
        except ValueError:
            continue
        bill_title = bill.text_content()
        if "S" in bill_title or "H" in bill_title:
            item = event.add_agenda_item(descr.text_content())
            item.add_bill(bill_title)
        else:
            continue
    yield event