public void waitForReadTextDialog(String title, String startOfExpectedText, int timeoutMS,
			boolean pressOK) {
		JDialog dialog = waitForJDialog(title);
		if (dialog != null && (dialog instanceof DockingDialog)) {
			DockingDialog dockingDialog = (DockingDialog) dialog;
			DialogComponentProvider dialogComponent = dockingDialog.getDialogComponent();
			if (dialogComponent instanceof ReadTextDialog) {
				JTextArea textArea = findComponent(dialog, JTextArea.class);
				assertNotNull(textArea);
				String text = textArea.getText();
				if (!text.startsWith(startOfExpectedText)) {
					Assert.fail("ReadTextDialog doesn't start with string '" + startOfExpectedText +
						"'. Instead has '" +
						text.substring(0, ((text.length() <= 80) ? text.length() : 80)) + "'.");
				}
				if (pressOK) {
					pressButtonByText(dialog, "OK");
				}
				return;
			}
		}

		Assert.fail("Couldn't find '" + title + "' ReadTextDialog with OK button.");
	}
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