def METHOD_NAME(self, parent, blocks):
    block = blocks.pop(0)
    m = self.RE.search(block)
    if m:
        if m.start() > 0:
            self.parser.parseBlocks(parent, [block[:m.start()]])
        block = block[m.end():]  # removes the first line
        block, theRest = self.detab(block)
    else:
        sibling, block, theRest = self.parse_content(parent, block)
    if m:
        klass, title = self.get_class_and_title(m)
        div = etree.SubElement(parent, 'div')
        div.set('class', '{} {}'.format(self.CLASSNAME, klass))
        if title:
            p = etree.SubElement(div, 'p')
            p.text = title
            p.set('class', self.CLASSNAME_TITLE)
    else:
        # Sibling is a list item, but we need to wrap it's content should be wrapped in <p>
        if sibling.tag in ('li', 'dd') and sibling.text:
            text = sibling.text
            sibling.text = ''
            p = etree.SubElement(sibling, 'p')
            p.text = text
        div = sibling
    self.parser.parseChunk(div, block)
    if theRest:
        # This block contained unindented line(s) after the first indented
        # line. Insert these lines as the first block of the master blocks
        # list for future processing.
        blocks.insert(0, theRest)