private static ToolOptions forceOptions(ToolOptions options) {
		ToolOptions vtOptions = options.copy();
		// (Force Apply) Transform any markup types that are excluded to their default apply type.
		if (vtOptions.getEnum(DATA_MATCH_DATA_TYPE, DEFAULT_OPTION_FOR_DATA_MATCH_DATA_TYPE) == ReplaceDataChoices.EXCLUDE) {
			vtOptions.setEnum(DATA_MATCH_DATA_TYPE, DEFAULT_OPTION_FOR_DATA_MATCH_DATA_TYPE);
		}
		if (vtOptions.getEnum(LABELS, DEFAULT_OPTION_FOR_LABELS) == LabelChoices.EXCLUDE) {
			vtOptions.setEnum(LABELS, DEFAULT_OPTION_FOR_LABELS);
		}
		if (vtOptions.getEnum(FUNCTION_NAME, DEFAULT_OPTION_FOR_FUNCTION_NAME) == FunctionNameChoices.EXCLUDE) {
			vtOptions.setEnum(FUNCTION_NAME, DEFAULT_OPTION_FOR_FUNCTION_NAME);
		}

		if (vtOptions.getEnum(FUNCTION_SIGNATURE, DEFAULT_OPTION_FOR_FUNCTION_SIGNATURE) == FunctionSignatureChoices.EXCLUDE) {
			vtOptions.setEnum(FUNCTION_SIGNATURE, DEFAULT_OPTION_FOR_FUNCTION_SIGNATURE);
		}
		// This leaves the options alone that are the individual parts of the function signature.
		// So this will force the signature to apply, but only as the individual options already indicate.

		if (vtOptions.getEnum(PLATE_COMMENT, DEFAULT_OPTION_FOR_PLATE_COMMENTS) == CommentChoices.EXCLUDE) {
			vtOptions.setEnum(PLATE_COMMENT, DEFAULT_OPTION_FOR_PLATE_COMMENTS);
		}
		if (vtOptions.getEnum(PRE_COMMENT, DEFAULT_OPTION_FOR_PRE_COMMENTS) == CommentChoices.EXCLUDE) {
			vtOptions.setEnum(PRE_COMMENT, DEFAULT_OPTION_FOR_PRE_COMMENTS);
		}
		if (vtOptions.getEnum(END_OF_LINE_COMMENT, DEFAULT_OPTION_FOR_EOL_COMMENTS) == CommentChoices.EXCLUDE) {
			vtOptions.setEnum(END_OF_LINE_COMMENT, DEFAULT_OPTION_FOR_EOL_COMMENTS);
		}
		if (vtOptions.getEnum(REPEATABLE_COMMENT, DEFAULT_OPTION_FOR_REPEATABLE_COMMENTS) == CommentChoices.EXCLUDE) {
			vtOptions.setEnum(REPEATABLE_COMMENT, DEFAULT_OPTION_FOR_REPEATABLE_COMMENTS);
		}
		if (vtOptions.getEnum(POST_COMMENT, DEFAULT_OPTION_FOR_POST_COMMENTS) == CommentChoices.EXCLUDE) {
			vtOptions.setEnum(POST_COMMENT, DEFAULT_OPTION_FOR_POST_COMMENTS);
		}

		return vtOptions;
	}
A task to apply markup items using the indicated options. If a markup item is set to 
"Do Not Apply" this will force the item to be applied by forcing a default option for 
that markup type.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/task/ForceApplyMarkupItemTask.java