private static Component getParent(Component parent) {
		if (parent == null) {
			return null;
		}

		return (parent.isVisible() ? parent : null);
	}
Construct a new TaskLauncher

<p>See <a href="#modal_usage">notes on modal usage</a>

@param task task to run in another thread (other than the Swing Thread)
@param parent component whose window to use to parent the dialog; null centers the task
       dialog over the current window
@param delayMs number of milliseconds to delay until the task monitor is displayed
@param dialogWidth The preferred width of the dialog (this allows clients to make a wider
       dialog, which better shows long messages).
Ghidra/Framework/Docking/src/main/java/ghidra/util/task/TaskLauncher.java