private boolean tryToAcceptMatchAndApplyMarkup(VTMatch match, TaskMonitor monitor)
			throws CancelledException {

		VTAssociation association = match.getAssociation();

		// skip already accepted or blocked matches
		if (association.getStatus() == VTAssociationStatus.AVAILABLE) {

			if (hasAcceptedRelatedAssociation(association, monitor)) {
				Msg.warn(AutoVersionTrackingTask.class,
					"This association has a related association with an accepted match so cannot " +
						"make this association accepted which would try to block the already accepted " +
						"related association " +
						association);
				return false;
			}

			// Try to accept the match
			if (tryToSetAccepted(association)) {

				// If accept match succeeds apply the markup for the match
				MatchInfo matchInfo = matchInfoFactory.getMatchInfo(match, addressCorrelator);
				Collection<VTMarkupItem> markupItems = matchInfo.getAppliableMarkupItems(monitor);
				if (markupItems != null && markupItems.size() != 0) {

					ApplyMarkupItemTask markupTask =
						new ApplyMarkupItemTask(session, markupItems, toolOptions);
					markupTask.run(monitor);
					boolean currentMatchHasErrors = markupTask.hasErrors();
					if (currentMatchHasErrors) {
						return true;
					}
				}
			}
		}
		return false;
	}
Try to accept the given match and if can accept the match try to apply its markup
@param match The match to try and accept and apply markup to
@param monitor Allow user to cancel
@return true if there are any markup errors, false if no markup errors
@throws CancelledException if cancelled
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/AutoVersionTrackingTask.java