private void initialize() {
		populateExternalNames();
		restoreLibraryName();

		extTypeLabel.setText(
			(externalLocation != null && externalLocation.isFunction()) ? "Function" : "Data");

		extLabelTextField.setText(startingLocationName);
		if (extOriginalLabelTextField != null) {
			extOriginalLabelTextField.setText(startingOriginalName);
		}
		extAddressInputWidget.setProgram(program);
		if (startingLocationAddress != null) {
			extAddressInputWidget.setAddress(startingLocationAddress);
		}
		else {
			extAddressInputWidget.clear();
		}
		boolean isFunction = (externalLocation != null) ? externalLocation.isFunction() : false;
		if (externalLocation == null) {
			functionCheckBox.setSelected(isFunction);
		}

		extLibNameComboBox.requestFocus();

		isValidState = 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