public boolean askYesNo(String title, String question) {

		String key = join(title, question);
		Boolean existingValue = loadAskValue(this::parseBoolean, key);
		if (isRunningHeadless()) {
			return existingValue;
		}

		return OptionDialog.showYesNoDialog(null, title, question) == OptionDialog.OPTION_ONE;
	}
Returns a boolean value, using the String parameters for guidance. The actual behavior of
the method depends on your environment, which can be GUI or headless.
<p>
Regardless of environment -- if script arguments have been set, this method will use the
next argument in the array and advance the array index so the next call to an ask method
will get the next argument.  If there are no script arguments and a .properties file
sharing the same base name as the Ghidra Script exists (i.e., Script1.properties for
Script1.java), then this method will then look there for the String value to return.
The method will look in the .properties file by searching for a property name that is a
space-separated concatenation of the input String parameters (title + " " + question).
If that property name exists and its value represents a valid boolean value, then the
.properties value will be used in the following way:
<ol>
		<li>In the GUI environment, this method displays a popup dialog that prompts the user
			with a yes/no dialog with the specified title and question. Returns true if the user
			selects "yes" to the question or false if the user selects "no".</li>
		<li>In the headless environment, if a .properties file sharing the same base name as the
			Ghidra Script exists (i.e., Script1.properties for Script1.java), then this method
			looks there for the boolean value to return. The method will look in the .properties
			file by searching for a property name that is a space-separated concatenation of the
			String parameters (title + " " + question). If that property name exists and its
			value represents a valid boolean value (either 'true' or 'false', case insensitive),
			then that value	is returned. Otherwise, an Exception is thrown if there is an
			invalid or missing .properties value.</li>
</ol>


@param title the title of the dialog (in GUI mode) or the first part of the variable name
			(in headless mode)
@param question the question to display to the user (in GUI mode) or the second part of the
			variable name (in headless mode)
@return true if the user selects "yes" to the question (in GUI mode) or "true" (in headless
			mode)
@throws IllegalArgumentException if in headless mode, there was a missing or invalid boolean
			specified in the .properties file
Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java