def _default_node_children(self, node, visitor, children):
        """ Generates a key and list of children of the given :class:`CTENode`
        `node`, intended to be used as an update to the dictionary
        representation generated by the :meth:`node_as_tree` method. The key is
        ``children`` and the list consists of the children of the given node as
        determined by the `children` callback.

        Each child node is, in turn, visited through recursive calls to
        :meth:`node_as_child`, and the `visitor` and `children` parameters are
        passed along.

        :param node: the :class:`CTENode` for which to generate the children
            representation.

        :param visitor: optional function responsible for generating the
            dictionary representation of the node.

        :param children: optional function responsible for generating a
            children key and list for the node.

        :return: a key and list representation of the structure of the children
            of the given node.
        """
        return {
            self.model._cte_node_children: [
                self.node_as_tree(child, visitor=visitor, children=children)
                for child in node.children.all()
            ]
        }