private void searchForNewMatches(ArrayList<FunctionNode> unmatchedSource,
			ArrayList<FunctionNode> unmatchedDest) {
		VectorCompare veccompare = new VectorCompare();
		for (FunctionNode src : unmatchedSource) {
			LSHVector srcvec = src.getVector();
			for (FunctionNode dst : unmatchedDest) {
				if (src.findEdge(dst) != null) {
					continue;			// This pair has already been compared
				}
				// Feature vector computations
				double similarity = srcvec.compare(dst.getVector(), veccompare);
				double confidence = vectorFactory.calculateSignificance(veccompare);
				if (confidence < impThreshold) {
					continue;
				}
				FunctionPair newPair = new FunctionPair(src, dst, similarity, confidence);
				src.addAssociate(dst, newPair);
				dst.addAssociate(src, newPair);
			}
		}
	}
Do the feature vector comparison of every source to every destination and create
new putative matches (associates) if the comparison score exceeds {@link #impThreshold}
@param unmatchedSource is the list of sources
@param unmatchedDest is the list of destinations
Ghidra/Features/VersionTrackingBSim/src/main/java/ghidra/feature/vt/api/NeighborGenerator.java