@Override
	public void actionPerformed(ActionContext context) {
		VTMatchContext matchContext = (VTMatchContext) context;
		List<VTMatch> matches = matchContext.getSelectedMatches();
		if (matches.size() != 1) {
			return;
		}
		VTMatch match = matches.get(0);
		VTAssociation association = match.getAssociation();
		VTAssociationStatus status = association.getStatus();
		if (status != VTAssociationStatus.BLOCKED) {
			return;
		}
		List<VTAssociation> conflicts = getConflictingMatches(match);
		String conflictMessage = getConflictingMatchesDisplayString(match, conflicts);
		int response = OptionDialog.showOptionDialog(null, "Clear Conflicting Matches and Apply?",
			conflictMessage, "Clear and Apply", OptionDialog.QUESTION_MESSAGE);
		if (response == OptionDialog.OPTION_ONE) {
			ApplyBlockedMatchTask task = new ApplyBlockedMatchTask(controller, match, conflicts);
			controller.runVTTask(task);
		}

	}
The ApplyBlockedMatchAction allows the user to apply a match that is currently blocked.
It clears any conflicting matches that are currently accepted in order to apply the desired match.
The user is prompted to verify the conflicting matches should be cleared before proceeding.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/ApplyBlockedMatchAction.java