def METHOD_NAME(
    self,
    node: _SubGraphNodes,
    pathnode: _SubGraphNodes,
    extra_blocks: Sequence[nodes.ExceptHandler],
) -> None:
    """Parse the body and any `else` block of `if` and `for` statements."""
    loose_ends = []
    self.tail = node
    self.dispatch_list(node.body)
    loose_ends.append(self.tail)
    for extra in extra_blocks:
        self.tail = node
        self.dispatch_list(extra.body)
        loose_ends.append(self.tail)
    if node.orelse:
        self.tail = node
        self.dispatch_list(node.orelse)
        loose_ends.append(self.tail)
    else:
        loose_ends.append(node)
    if node and self.graph:
        bottom = f"{self._bottom_counter}"
        self._bottom_counter += 1
        for end in loose_ends:
            self.graph.connect(end, bottom)
        self.tail = bottom