code: def __repair_unconnected_nodes(self):
          
          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)
docs: 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).