private boolean validLocation() {

		String locationName = getLocationName();
		boolean hasLocationName = locationName != null && locationName.length() > 0;
		boolean hasLocationAddress = extAddressInputWidget.hasInput();
		if (!hasLocationName && !hasLocationAddress) {
			showInputErr(
				"Either (or both) an external 'Label' and/or 'Address' must be specified.");
			return false;
		}
		if (!validLocationName()) { // Empty is considered valid.
			return false;
		}
		if (!validLocationAddress()) { // Empty is considered valid.
			return false;
		}
		return true;
	}
Pop up the data tree dialog so the user can choose the external program.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/EditExternalLocationPanel.java