def METHOD_NAME(self, node):
    headers = []
    for child in list(node):
        match = self.HEADER_RE.match(child.tag.lower())
        if not match:
            continue
        level = match.group(1)
        if "data-block-source" in child.attrib:
            source_block = child.attrib["data-block-source"]
            del child.attrib["data-block-source"]
            # locate in document source
            start = self.source.find(source_block, self.last_start)
            if start == -1:
                # not found in source, ignore
                continue
            self.last_start = start + 1
            # ensure that the node has a unique id
            slug = self.ensure_unique_id(child)
            # Insert link to allow editing this section
            link = etree.SubElement(child, "a")
            link.text = settings.LINK_TEXT
            link.attrib["class"] = "article-edit-title-link"
            # Build the URL
            url_kwargs = self.md.article.get_url_kwargs()
            url_kwargs["header"] = child.attrib["id"]
            link.attrib["href"] = reverse("wiki:editsection", kwargs=url_kwargs)
            headers.append(
                {
                    "slug": slug,
                    "position": start,
                    "level": level,
                    "source": source_block,
                }
            )
    return headers