private void addUnseenChildrenOf(V vertex) {
    for (E edge : specifics.edgesOf(vertex)) {
      if (nListeners != 0) {
        fireEdgeTraversed(createEdgeTraversalEvent(edge));
      }

      V oppositeV = Graphs.getOppositeVertex(graph, edge, vertex);

      if (isSeenVertex(oppositeV)) {
        encounterVertexAgain(oppositeV, edge);
      } else {
        encounterVertex(oppositeV, edge);
      }
    }
  }
 /** @see Graph#edgesOf(Object) */
 public Set<E> edgesOf(V vertex) {
   return specifics.edgesOf(vertex);
 }