Setter for **self.__parent** attribute.

        :param value: Attribute value.
        :type value: AbstractNode or AbstractCompositeNode

def parent(self, value):
        """
        Setter for **self.__parent** attribute.

        :param value: Attribute value.
        :type value: AbstractNode or AbstractCompositeNode
        """

        if value is not None:
            assert issubclass(value.__class__, AbstractNode), "'{0}' attribute: '{1}' is not a '{2}' subclass!".format(
                "parent", value, AbstractNode.__class__.__name__)
        self.__parent = value