public EdgeType edgeClassification(int x, int y) {
		
		if (parent[y] == x) {
			return EdgeType.TREE;
		}
		
		if (discovered[y] && !processed[y]) {
			return EdgeType.BACK;
		}
		
		if (processed[y] && entryTime[y] > entryTime[x]) {
			return EdgeType.FORWARD;
		}
		
		if (processed[y] && entryTime[y] < entryTime[x]) {
			return EdgeType.CROSS;
		}		
		
		return EdgeType.UNCLASSIFIED;
	}