private void popupProgramChooser() {
		DataTreeDialog d = new DataTreeDialog(this.getParent(), "Choose External Program", OPEN);
		final DataTreeDialog dialog = d;
		d.addOkActionListener(e -> {
			DomainFile df = dialog.getDomainFile();
			if (df == null) {
				return;
			}
			String pathName = df.getPathname();
			if (pathName.equals(program.getDomainFile().getPathname())) {
				dialog.setStatusText("Selected program is the same as current program");
				return;
			}
			dialog.close();
			extLibPathTextField.setText(df.getPathname());
		});
		DockingWindowManager.showDialog(this, d);
	}
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