### Question:
SimpleVertexDictionary implements VertexDictionary { @Override public <V extends Vertex<?, ?>> V get(VertexLabel label) { return (V) dictionary.get(label); } private  SimpleVertexDictionary(Map<VertexLabel, Vertex<?, ?>> dictionary); static SimpleVertexDictionary combine(SimpleVertexDictionary dictionary, SimpleVertexDictionary dictionary2); @Override V get(VertexLabel label); @Override VertexDictionary withExtraEntries(Map<VertexLabel, Vertex<?, ?>> extraEntries); static SimpleVertexDictionary backedBy(Map<VertexLabel, Vertex<?, ?>> dictionary); static SimpleVertexDictionary backedBy(Map<VertexLabel, Vertex<?, ?>> first, Map<VertexLabel, Vertex<?, ?>> second); static SimpleVertexDictionary of(Vertex<?, ?>... vertices);  }### Answer:
@Test public void ifYouChangeTheUnderlyingMapItChangesTheDictionary() { VertexLabel label3 = new VertexLabel("label3"); Vertex<?, ?> vertex3 = mock(Vertex.class); map.put(label3, vertex3); assertThat(dictionary.get(label3), sameInstance(vertex3)); }