private void popupProgramChooser() {
		DataTreeDialog d =
			new DataTreeDialog(this.getParent(), "Choose External Program", OPEN);
		final DataTreeDialog dialog = d;
		d.addOkActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				DomainFile df = dialog.getDomainFile();
				if (df == null) {
					return;
				}
				String pathName = df.getPathname();
				if (pathName.equals(fromCodeUnit.getProgram().getDomainFile().getPathname())) {
					dialog.setStatusText("Selected program is the same as current program");
					return;
				}
				dialog.close();
				extLibPath.setText(df.getPathname());
			}
		});
		plugin.getTool().showDialog(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/references/EditExternalReferencePanel.java