protected void chooseVariousExternalOptions(final String externalLabelPathName,
			final int[] options, boolean useForAll) throws Exception {
		waitForPrompting();
		Window window = windowForComponent(getMergePanel());
		ExternalConflictInfoPanel externalInfoComp =
			findComponent(window, ExternalConflictInfoPanel.class);
		assertNotNull(externalInfoComp);
		assertEquals(externalLabelPathName, externalInfoComp.getLabelPathName());
		VariousChoicesPanel choiceComp = findComponent(window, VariousChoicesPanel.class);
		assertNotNull(choiceComp);
		for (int row = 0; row < options.length; row++) {
			if (options[row] == CANCELED) {
				try {
					pressButtonByText(window, "Cancel", false);
					return;
				}
				catch (AssertionError e) {
					Assert.fail(e.getMessage());
				}
			}
			else if (options[row] == INFO_ROW) {
				continue;
			}
			String compName = choiceComp.getComponentName(row, optionToColumn(options[row]));
			Component comp = findComponentByName(choiceComp, compName, false);
			if (comp instanceof AbstractButton) {
				((AbstractButton) comp).setSelected(true);
			}
			else if (comp instanceof JCheckBox) {
				((JCheckBox) comp).setSelected(true);
			}
		}

		waitForSwing();
		setUseForAll(useForAll, VariousChoicesPanel.class);

		try {
			waitForApply(true);
			pressButtonByText(window, "Apply");
			waitForSwing();
			waitForApply(false);
		}
		catch (UsrException e) {
			Assert.fail(e.getMessage());
		}
	}
@param program
@param transactionDescription
@param library
@param label
@param addressAsString
@param sourceType
@return
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalUseForAllTest.java