def children(self, value):
        """
        Setter for **self.__children** attribute.

        :param value: Attribute value.
        :type value: list
        """

        if value is not None:
            assert type(value) is list, "'{0}' attribute: '{1}' type is not 'list'!".format("children", value)
            for element in value:
                assert issubclass(element.__class__,
                                  AbstractNode), "'{0}' attribute: '{1}' is not a '{2}' subclass!".format(
                    "children", element, AbstractNode.__class__.__name__)
        self.__children = value