code: def root(self, node):
          
          # We need to use the path virtual field, so ensure it exists.
          self._ensure_virtual_fields(node)
          return self.get(pk=getattr(node, self.model._cte_node_path)[0])
docs: Returns the :class:`CTENode` which is the root of the tree in which
              the given `node` participates (or `node` if it is a root node). This
              method functions through the :meth:`get` method.
  
              :param node: A :class:`CTENode` whose root is required.
  
              :return: A :class:`CTENode` which is the root of the tree in which
                  the given `node` participates (or the given `node` if it is a
                  root node).