protected void doTestFindAndDoNothingOnApplyOfSameMarkupItem(
			TestDataProviderAndValidator validator) throws Exception {

		VTSessionDB session = createNewSession();
		VTMatch match = createMatchSetWithOneMatch(session, validator.getSourceMatchAddress(),
			validator.getDestinationMatchAddress());
		VTMarkupItem markupItem = validator.searchForMarkupItem(match);

		boolean sameMarkup = doCheckForSameMarkupItem(validator);

		//
		// verify we cannot unapply before we have applied
		//
		List<VTMarkupItem> markupItems = new ArrayList<>();
		Address destinationApplyAddress = validator.getDestinationApplyAddress();
		markupItem.setDefaultDestinationAddress(destinationApplyAddress, TEST_ADDRESS_SOURCE);
		markupItems.add(markupItem);

		VtTask task = new UnapplyMarkupItemTask(session, null, markupItems);
		runTask(session, task);
		// In the GUI the apply task won't get called if same. For now, don't do action if same.
		// Seems like markupItemImpl.apply() should do nothing if same, but it applies anyway.
		if (!sameMarkup) {
			//
			// verify we can not apply
			//
			VTMarkupItemApplyActionType applyAction = validator.getApplyAction();
			if (applyAction != null) {
				task = new ApplyMarkupItemTask(session, markupItems, validator.getOptions());
				runTask(session, task);
				assertEquals("The markup item was applied when it should not have been.",
					VTMarkupItemStatus.SAME, markupItem.getStatus());
			}
		}
	}
Override this method if you want the options used by the validator to differ from the
default version tracking Apply Markup Options.
@return the Apply Markup Options for the validator to use.
Ghidra/Features/VersionTracking/src/test/java/ghidra/feature/vt/api/markupitem/AbstractVTMarkupItemTest.java