public List<SimilarStartRowObject> getSimilarFunctionStarts(Address potential, int numStarts) {
		List<Node<Label>> leafNodes = getLeafNodes(potential, targetProgram);
		List<SimilarStartRowObject> neighbors = new ArrayList<>(startsToLeafList.size());
		for (Entry<Address, List<Node<Label>>> entry : startsToLeafList.entrySet()) {
			Address start = entry.getKey();
			List<Node<Label>> leafList = entry.getValue();
			int matches = 0;
			for (int i = 0; i < randomForest.getNumModels(); ++i) {
				if (leafNodes.get(i).equals(leafList.get(i))) {
					matches++;
				}
			}
			neighbors.add(new SimilarStartRowObject(start, matches));
		}
		Collections.sort(neighbors,
			(x, y) -> Integer.compare(y.numAgreements(), x.numAgreements()));
		List<SimilarStartRowObject> closeNeighbors =
			neighbors.subList(0, Math.min(numStarts, neighbors.size()));
		return closeNeighbors;
	}
Finds the functions starts in the training set that are most similar to {@code potential}
according to the model
@param potential address of potential start
@param numStarts max size of returned list
@return similar starts (in descending order)
Ghidra/Extensions/MachineLearning/src/main/java/ghidra/machinelearning/functionfinding/SimilarStartsFinder.java