def convertDescriptionToRST(textRoot, node, soupTag, heading):
    '''
    Parses the ``node`` XML document and returns a reStructuredText formatted
    string.  Helper method for :func:`~exhale.parse.getBriefAndDetailedRST`.

    .. todo:: actually document this
    '''
    if soupTag.para:
        children = soupTag.findChildren(recursive=False)
        for child in children:
            walk(textRoot, child, 0, None, "\n")
        contents = soupTag.get_text()

        if not heading:
            return contents

        start = textwrap.dedent('''
            {heading}
            {heading_mark}
        '''.format(
            heading=heading,
            heading_mark=utils.heading_mark(
                heading,
                configs.SUB_SECTION_HEADING_CHAR
            )
        ))
        return "{0}{1}".format(start, contents)
    else:
        return ""
Parses the ``node`` XML document and returns a reStructuredText formatted
    string.  Helper method for :func:`~exhale.parse.getBriefAndDetailedRST`.

    .. todo:: actually document this