code: public void addEdge(Edge e) {
  		structure.addEdge(e);
  		for (EdgeListener listener : edgeListeners)
  			listener.onInsert(e);
  	}
docs: Adds a new edge to this graph, given a new Edge object. It uses the GraphStructure attribute's
  addEdge method to add the new edge to this graph. If one of the node ids of the given Edge object
  does not exists in this graph, a NodeNotFoundException is thrown. Otherwise, the edge is successfully
  added to this graph.
  
  @param e the new edge to be added to the graph.