Adds a (``dominance_relation``) edge from the sentence root node to all
        previously unconnected nodes (token nodes, that either represent a
        punctuation mark or are part of a headline 'sentence' that has no
        full syntax structure annotation).

def __repair_unconnected_nodes(self):
        """
        Adds a (``dominance_relation``) edge from the sentence root node to all
        previously unconnected nodes (token nodes, that either represent a
        punctuation mark or are part of a headline 'sentence' that has no
        full syntax structure annotation).
        """
        unconnected_node_ids = get_unconnected_nodes(self)
        if dg.istoken(self, self.root):
            # This sentence has no hierarchical structure, i.e. the root
            # node is also a terminal / token node.
            # We will add a virtual root node to compensate for this.
            self.root = self.ns+':VROOT'
            self.add_node(self.root,
                layers={'tiger', 'tiger:syntax', 'tiger:sentence',
                        'tiger:sentence:root'})

        for unconnected_node_id in unconnected_node_ids:
            self.add_edge(self.root, unconnected_node_id,
                          layers={self.ns, self.ns+':sentence',
                                  self.ns+':unconnected'},
                          edge_type=EdgeTypes.dominance_relation)