private JPanel buildProgramPdbPanel() {

		DocumentListener docListener = new DocumentListener() {
			//@formatter:off
			@Override public void removeUpdate(DocumentEvent e) { updateButtonEnablement(); }
			@Override public void insertUpdate(DocumentEvent e) { updateButtonEnablement(); }
			@Override public void changedUpdate(DocumentEvent e) { updateButtonEnablement(); }
			//@formatter:on
		};

		programNameTextField = new BetterNonEditableTextField(20);
		programNameTextField.setEditable(false);
		programNameTextField.setText(program.getName());
		programNameTextField.getAccessibleContext().setAccessibleName("Program Name");
		pdbPathTextField = new BetterNonEditableTextField(20, "Missing", Colors.ERROR);
		pdbPathTextField.setEditable(false);
		pdbPathTextField.setText(programSymbolFileInfo.getPath());
		pdbPathTextField.getDocument().addDocumentListener(docListener);
		pdbPathTextField.getAccessibleContext().setAccessibleName("PDB Path");
		overridePdbPathCheckBox = new GCheckBox();
		overridePdbPathCheckBox.setVisible(false);
		overridePdbPathCheckBox.setToolTipText("Override PDB name (when searching).");
		overridePdbPathCheckBox.addItemListener(e -> {
			pdbPathTextField.setEditable(overridePdbPathCheckBox.isSelected());
			if (overridePdbPathCheckBox.isSelected()) {
				pdbPathTextField.requestFocusInWindow();
			}
			else {
				pdbPathTextField.setText(programSymbolFileInfo.getPath());
			}
		});
		overridePdbPathCheckBox.getAccessibleContext().setAccessibleName("Override PDB Path");
		DockingWindowManager.getHelpService()
				.registerHelp(overridePdbPathCheckBox, new HelpLocation(
					PdbPlugin.PDB_PLUGIN_HELP_TOPIC, SymbolFilePanel.SEARCH_OPTIONS_HELP_ANCHOR));

		pdbUniqueIdTextField = new BetterNonEditableTextField(36, "Missing", Colors.ERROR);
		pdbUniqueIdTextField.setEditable(false);
		pdbUniqueIdTextField.setText(programSymbolFileInfo.getUniqifierString());
		pdbUniqueIdTextField.setToolTipText("<html>PDB GUID - 32 hexadecimal characters:<br>" +
			"&nbsp;&nbsp;<b>'012345678-0123-0123-0123-0123456789ABC'</b> (with or without dashes) or<br>" +
			"PDB Signature ID - 8 hexadecimal characters:<br>" + "&nbsp;&nbsp;<b>'11223344'</b>");
		pdbUniqueIdTextField.getDocument().addDocumentListener(docListener);
		pdbUniqueIdTextField.getAccessibleContext().setAccessibleName("PDB Unique ID");
		overridePdbUniqueIdCheckBox = new GCheckBox();
		overridePdbUniqueIdCheckBox.setVisible(false);
		overridePdbUniqueIdCheckBox.setToolTipText("Override PDB Unique ID (when searching).");
		overridePdbUniqueIdCheckBox.addItemListener(e -> {
			pdbUniqueIdTextField.setEditable(overridePdbUniqueIdCheckBox.isSelected());
			if (overridePdbUniqueIdCheckBox.isSelected()) {
				pdbUniqueIdTextField.requestFocusInWindow();
			}
			else {
				pdbUniqueIdTextField.setText(programSymbolFileInfo.getUniqifierString());
			}
		});
		overridePdbUniqueIdCheckBox.getAccessibleContext()
				.setAccessibleName("Override PDB Unique ID");
		DockingWindowManager.getHelpService()
				.registerHelp(overridePdbUniqueIdCheckBox, new HelpLocation(
					PdbPlugin.PDB_PLUGIN_HELP_TOPIC, SymbolFilePanel.SEARCH_OPTIONS_HELP_ANCHOR));

		pdbAgeTextField = new BetterNonEditableHexTextField(8);
		pdbAgeTextField.setAllowNegative(false);
		pdbAgeTextField.setHexMode();
		pdbAgeTextField.setValue(programSymbolFileInfo.getIdentifiers().getAge());
		pdbAgeTextField.setEditable(false);
		pdbAgeTextField.getDocument().addDocumentListener(docListener);
		pdbAgeTextField.getAccessibleContext().setAccessibleName("PDB Age");
		overridePdbAgeCheckBox = new GCheckBox();
		overridePdbAgeCheckBox.setVisible(false);
		overridePdbAgeCheckBox.setToolTipText("Override PDB age (when searching).");
		overridePdbAgeCheckBox.addItemListener(e -> {
			pdbAgeTextField.setEditable(overridePdbAgeCheckBox.isSelected());
			if (overridePdbAgeCheckBox.isSelected()) {
				pdbAgeTextField.requestFocus();
			}
			else {
				pdbAgeTextField.setValue(programSymbolFileInfo.getIdentifiers().getAge());
			}
		});
		overridePdbAgeCheckBox.getAccessibleContext().setAccessibleName("Override PDB Age");
		DockingWindowManager.getHelpService()
				.registerHelp(overridePdbAgeCheckBox, new HelpLocation(
					PdbPlugin.PDB_PLUGIN_HELP_TOPIC, SymbolFilePanel.SEARCH_OPTIONS_HELP_ANCHOR));

		programPdbPanel = new JPanel(new PairLayout(5, 5));
		programPdbPanel.setBorder(BorderFactory.createTitledBorder("Program PDB Information"));
		programPdbPanel.add(new GLabel("Program:", SwingConstants.RIGHT));
		programPdbPanel.add(programNameTextField);

		programPdbPanel.add(
			join(null, new GLabel("PDB Name:", SwingConstants.RIGHT), overridePdbPathCheckBox));
		programPdbPanel.add(pdbPathTextField);

		programPdbPanel.add(join(null, new GLabel("PDB Unique ID:", SwingConstants.RIGHT),
			overridePdbUniqueIdCheckBox));
		programPdbPanel.add(pdbUniqueIdTextField);

		programPdbPanel.add(
			join(null, new GLabel("PDB Age:", SwingConstants.RIGHT), overridePdbAgeCheckBox));
		programPdbPanel.add(join(pdbAgeTextField, new JPanel(), null));

		programPdbPanel.getAccessibleContext().setAccessibleName("Program PDB");
		return programPdbPanel;
	}
Selects a row in the results table.
<p>
Public only for screenshot usage.  Treat as private.

@param symbolFileLocation {@link SymbolFileLocation} to select in results table
Ghidra/Features/PDB/src/main/java/pdb/symbolserver/ui/LoadPdbDialog.java