public Component waitForConflictsPanel(Class<? extends Component> conflictPanelClass,
			int timeoutMS) {
		int totalTime = 0;
		Window window = mergeTool.getToolFrame();
		while (totalTime <= timeoutMS) {
			if (mergeMgr.processingCompleted()) {
				Assert.fail("Expected conflict merge panel, '" + conflictPanelClass.getName() +
					"',  but merge has already completed.");
				return null;
			}
			if (window != null && window.isVisible()) {
				Component comp = findComponent(window, conflictPanelClass);
				if (comp != null) {
					return comp;
				}
			}
			totalTime += sleep();
		}
		Assert.fail("Couldn't find conflict merge panel, '" + conflictPanelClass.getName() + "'.");
		return null;
	}
Starts the merge and sets "window" to the merge dialog.
@param decision the conflict decision
@param waitForVisibleWindow true to wait
@throws Exception if the sleep for the automatic merge was interrupted.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/AbstractListingMergeManagerTest.java