<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def lineage(self):
 """ Return all nodes between this node and the root, including this one. """

        if not self.parent:
            return [self]
        else:
            L = self.parent.lineage()
            L.append(self)
            return L