private void doRun(Runnable runnable)
				throws InvocationTargetException, InterruptedException {
			if (SwingUtilities.isEventDispatchThread()) {
				runnable.run();
			}
			else {
				SwingUtilities.invokeAndWait(runnable);
			}
		}
Call this version of {@link #runSwing(Runnable)} when you expect your runnable <b>may</b>
throw exceptions

@param callback the runnable code snippet to call
@throws Exception any exception that is thrown on the Swing thread
Ghidra/Framework/Gui/src/main/java/generic/test/AbstractGuiTest.java