def __add_sentence_to_document(self, sentence):
        """
        Converts a sentence into a TigerSentenceGraph and adds all
        its nodes, edges (and their features) to this document graph.

        This also adds a ``dominance_relation`` edge from the root node of this
        document graph to the root node of the sentence and appends the
        sentence root node ID to ``self.sentences``.

        Parameters
        ----------
        sentence : lxml.etree._Element
            a sentence from a TigerXML file in etree element format
        """
        sentence_graph = TigerSentenceGraph(sentence)
        self.tokens.extend(sentence_graph.tokens)
        sentence_root_node_id = sentence_graph.root

        self.add_nodes_from(sentence_graph.nodes(data=True))
        self.add_edges_from(sentence_graph.edges(data=True))
        self.add_edge(self.root, sentence_root_node_id,
                      layers={self.ns, self.ns+':sentence'},
                      edge_type=EdgeTypes.dominance_relation)
        self.sentences.append(sentence_root_node_id)