private static PotentialPair unconflictedPair(ArrayList<PotentialPair> potentialPairs,
			int firstIndex, int lastIndex) {
		for (int i = firstIndex; i <= lastIndex; i++) {
			FunctionNode myFrom = potentialPairs.get(i).getSource();
			FunctionNode myTo = potentialPairs.get(i).getDestination();
			boolean useMe = true;
			for (int j = firstIndex; j <= lastIndex; j++) {				// Look for conflicts in entries with same score
				if (i == j) {
					continue;
				}
				FunctionNode yourFrom = potentialPairs.get(j).getSource();
				FunctionNode yourTo = potentialPairs.get(j).getDestination();
				if (myFrom == yourFrom || myTo == yourTo) {
					useMe = false;									// Conflict found. Can't use this one.
					break;
				}
			}
			if (useMe) {											// No conflict found
				return potentialPairs.get(i);						// Use this entry
			}
		}
		return null;
	}
Among a -range- of pairs with the same score, return a pair that does not conflict with
any other pair in the range, i.e. the source and destination of the pair or not
involved in another pair (with the same score).
@param potentialPairs is the (ordered) set of pairs
@param firstIndex is the start index of the range
@param lastIndex is the last index of the range
@return an unconflicted pair or null if none exist
Ghidra/Features/VersionTrackingBSim/src/main/java/ghidra/feature/vt/api/BSimProgramCorrelatorMatching.java