code: public void addEdge(V from, V to) {
          addVertex(from);
          addVertex(to);
          neighbors.get(from).add(to);
      }
docs: Add an edge to the graph; if either vertex does not exist, it's added.
  This implementation allows the creation of multi-edges and self-loops.