'Prints only a subgraph'

def repr_node(self, dist, level=1):

    output = [self._repr_dist(dist)]
    for (other, label) in self.adjacency_list[dist]:
        dist = self._repr_dist(other)
        if (label is not None):
            dist = (u'%s    [%s]' % (dist, label))
        output.append(((u'                ' * level) + str(dist)))
        suboutput = self.repr_node(other, (level + 1))
        subs = suboutput.split(u'\n')
        output.extend(subs[1:])
    return u'\n'.join(output)
