'Get the full path to this item (=a list of items from the root
item down to this item).'

def path(self, sub=None):

    path = [self]
    if sub:
        path.extend(sub)
    if self.parent:
        return self.parent.path(sub=path)
    else:
        return path
