### Question:
MapUTGraph implements UTGraph<L, T>, HasPersistentNodes, HasPersistentLinks { @Override public Set<? extends UTNode<L, T>> nodes(L label) { Set<MapUTNode> n = nodes.get(label); if(n == null) return Collections.emptySet(); return Collections.unmodifiableSet(n); } MapUTGraph(); static MapUTGraph<L, T> copy(UTGraph<L, T> graph); static MapUTGraph<L,T> copy(UGraph<L> graph); @Override UTNode<L, T> node(L label); int size(); @Override Set<? extends UTNode<L, T>> nodes(L label); @Override UTNode<L, T> add(L label); boolean uniqueLabels(); String toString(); @Override boolean connected(L first, L second); @Override Set<L> labels(); @Override long numLinks(); @Override long state(); @Override List<? extends UTNode<L, T>> nodes(); @Override Iterable<MapUTLink> links(); @Override Set<T> tags(); @Override int hashCode(); @Override boolean equals(Object other); @Override UTNode<L, T> get(int i); @Override Class<? extends UTGraph<L, T>> level();  }### Answer:
@Test public void testIndices() { UTGraph<String, String> graph = Graphs.k(3, "x"); for(Node<String> node : graph.nodes()) System.out.println(node.index()); }