def METHOD_NAME(self, row, parent, align):
    """ Given a row of text, build table cells. """
    tr = etree.SubElement(parent, 'tr')
    tag = 'td'
    if parent.tag == 'thead':
        tag = 'th'
    cells = self._split_row(row)
    # We use align here rather than cells to ensure every row
    # contains the same number of columns.
    for i, a in enumerate(align):
        c = etree.SubElement(tr, tag)
        try:
            c.text = cells[i].strip()
        except IndexError:  # pragma: no cover
            c.text = ""
        if a:
            c.set('align', a)