private void checkEdgesHaveEvenDegree() {
		// check that all vertices have an even number of edges
		// and that the graph is directed
		if (graph.isDirected()) {
			countAccess(1);
			throw new IllegalArgumentException("Graph may not be undirected");
		}
		for (Long v : graph.getVertexes()) {
			countAccess(1);
			if (degree(v) % 2 != 0) {
				throw new IllegalArgumentException(
						"Graph has Vertices with odd degree!");
			}
		}
	}