def METHOD_NAME(self, block: Block, parent: Position) -> None:
    """
    Rst_Importer: gen_block. The `block` arg is unused.
    Node generator for reStructuredText.
    Create all descendant blocks and their nodes from self.lines.
    The rst writer adds section lines, so *remove* those lines here.
    i.gen_lines adds the @language and @tabwidth directives.
    """
    lines = self.lines
    assert parent == self.root
    self.lines_dict: dict[VNode, list[str]] = {parent.v: []}
    self.lines = lines
    self.stack: list[Position] = [parent]
    skip = 0
    for i, line in enumerate(lines):
        if skip > 0:
            skip -= 1
        elif self.is_lookahead_overline(i):
            level = self.ch_level(line[0])
            self.make_rst_node(level, lines[i + 1])
            skip = 2
        elif self.is_lookahead_underline(i):
            level = self.ch_level(lines[i + 1][0])
            self.make_rst_node(level, line)
            skip = 1
        elif i == 0:
            top = self.make_dummy_node('!Dummy chapter')
            self.lines_dict[top.v].append(line)
        else:
            top = self.stack[-1]
            self.lines_dict[top.v].append(line)
    # Set p.b from the lines_dict.
    assert parent == self.root
    for p in self.root.self_and_subtree():
        p.b = ''.join(self.lines_dict[p.v])