@Override
        public void removeEdge(Edge edge) {

                // Remove the edge from all effected nodes
                for (Node node : edge.getAdjacent()) {
                        nodeMap.get(node.getCoordinates()).getAdjacent().remove(edge);
                }

                // Remove the edge from the edgemap
                edgeMap.remove(edge.getAdjacent());

        }