private boolean edgeSetsAreEqual
		(AdjacencyListUnweightedDirectedGraph<T> other) {
		
		for (ArrayList<T> singleAdjacencyList : adjacencyList) {
			for (T edge : singleAdjacencyList) {
				T otherEdge = other.getEdge(edge.source, edge.target);
				
				if (otherEdge == null || !(edge.equals(otherEdge))) {
					return false;
				}
			}
		}
		
		for (ArrayList<T> singleAdjacencyList : other.adjacencyList) {
			for (T edge : singleAdjacencyList) {
				T otherEdge = getEdge(edge.source, edge.target);
				
				if (otherEdge == null || !(edge.equals(otherEdge))) {
					return false;
				}
			}
		}
		
		return true;
	}