'Render this hierarchy as nested unsorted list
@param widget_id: a unique ID for the HTML widget
@param root: node ID of the start node (defaults to all
available root nodes)
@param represent: the representation method for the node IDs
@param hidden: render with style display:none
@param _class: the HTML class for the outermost list
@return: the list (UL)'

def html(self, widget_id, root=None, represent=None, hidden=True, none=None, _class=None):

    self._represent(renderer=represent)
    roots = ([root] if root else self.roots)
    html = self._html
    output = UL([html(node_id, widget_id, represent=represent) for node_id in roots], _id=widget_id, _style=('display:none' if hidden else None))
    if _class:
        output.add_class(_class)
    if none:
        if (none is True):
            none = current.messages['NONE']
        output.insert(0, LI(none, _id=('%s-None' % widget_id), _rel='none', _class='s3-hierarchy-node    s3-hierarchy-none'))
    return output
