private boolean correlateAndPossiblyApply(VTProgramCorrelatorFactory factory, VTOptions options,
			TaskMonitor monitor) throws CancelledException {

		monitor.checkCancelled();

		monitor.setMessage(
			"Finding and applying good " + factory.getName() + " matches and markup.");

		VTProgramCorrelator correlator = factory.createCorrelator(sourceProgram, sourceAddressSet,
			destinationProgram, destinationAddressSet, options);

		VTMatchSet results = correlator.correlate(session, monitor);
		monitor.initialize(results.getMatchCount());
		boolean hasMarkupErrors = applyMatches(results.getMatches(), monitor);

		monitor.incrementProgress(1);

		return hasMarkupErrors;

	}
Runs the given version tracking (VT) correlator and applies the returned matches meeting the
given score and confidence thresholds and are not otherwise blocked.
@param factory The correlator factory used to create and run the desired VT correlator.
@param options The options to pass the correlator including score and confidence values.
@param monitor Checks to see if user has cancelled.
@throws CancelledException if cancelled
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/AutoVersionTrackingTask.java