removeEdge(source, destination) {
    const sourceNode = this.nodes.get(source);
    const destinationNode = this.nodes.get(destination);

    if (sourceNode && destinationNode) {
      sourceNode.removeAdjacent(destinationNode);

      if (this.edgeDirection === Graph.UNDIRECTED) {
        destinationNode.removeAdjacent(sourceNode);
      }
    }

    return [sourceNode, destinationNode];
  }
Remove the connection between source node and destination.
If the graph is undirected, it will also create the link from destination to source.

Runtime: O(1): implemented with HashSet.
If implemented with array, would be O(|E|).

@param {any} source
@param {any} destination