public ClusterPair getClusterPair(HierarchGridCluster cluster1, HierarchGridCluster cluster2){
		HierarchGridCluster bigCluster, smallCluster;
		if (cluster1.compareTo(cluster2) >= 0){
			bigCluster = cluster1;
			smallCluster = cluster2;
		} else {
			bigCluster = cluster2;
			smallCluster = cluster1;
		}
		ClusterPair thePair = new ClusterPair(bigCluster, smallCluster, Double.MAX_VALUE);
		ClusterPair curPair = null;
		Iterator<ClusterPair> pairItr = this.mergeScores.iterator();
		if (pairItr.hasNext()){
			curPair = pairItr.next();
			if(curPair.compareTo(thePair) == 0){
				thePair = curPair;
			} else {
				while (pairItr.hasNext() && curPair.cluster1.compareTo(thePair.cluster1) <= 0){
					curPair = pairItr.next();
					if(curPair.compareTo(thePair) == 0){
						thePair = curPair;
						break;
					}
				}
			}
		}
		if (thePair.score == Double.MAX_VALUE){
			thePair.score = bigCluster.computePotentialInternalEdgeDensity(smallCluster);
			this.mergeScores.add(thePair);
		}
		return thePair;
	}