private void executeMonitoredRunnable(String taskTitle, boolean canCancel, boolean hasProgress,
			int delay, MonitoredRunnable runnable) {
		Task task = new Task(taskTitle, canCancel, hasProgress, false) {
			@Override
			public void run(TaskMonitor monitor) throws CancelledException {
				runnable.monitoredRun(monitor);
			}
		};
		executeProgressTask(task, delay);
	}
Execute a non-modal task that has progress and can be cancelled.
<p>
See {@link #executeProgressTask(Task, int)}.

@param taskTitle String title of task
@param canCancel boolean flag, if true task can be canceled by the user
@param hasProgress boolean flag, if true the task has a progress meter
@param delay int number of milliseconds to delay before showing the task's
progress
@param runnable {@link MonitoredRunnable} to run
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/EncodedStringsDialog.java