private JPopupMenu createAddLocationPopupMenu() {
			JPopupMenu menu = new JPopupMenu();
			JMenuItem addDirMenuItem = new JMenuItem("Directory");
			addDirMenuItem.addActionListener(e -> addDirectoryLocation());
			menu.add(addDirMenuItem);

			JMenuItem addURLMenuItem = new JMenuItem("URL");
			addURLMenuItem.addActionListener(e -> addUrlLocation());
			menu.add(addURLMenuItem);

			JMenuItem addProgLocMenuItem =
				new JMenuItem(SameDirSymbolStore.PROGRAMS_IMPORT_LOCATION_DESCRIPTION_STR);
			addProgLocMenuItem.addActionListener(e -> addSameDirLocation());
			menu.add(addProgLocMenuItem);

			JMenuItem importEnvMenuItem = new JMenuItem("Import _NT_SYMBOL_PATH");
			importEnvMenuItem.addActionListener(e -> importLocations());
			menu.add(importEnvMenuItem);

			if (!knownSymbolServers.isEmpty()) {
				menu.add(new JSeparator());
				for (WellKnownSymbolServerLocation ssloc : knownSymbolServers) {
					JMenuItem mi = new JMenuItem(ssloc.location());
					mi.addActionListener(e -> addKnownLocation(ssloc));
					mi.setToolTipText(" [from " + ssloc.fileOrigin() + "]");
					menu.add(mi);
				}
			}
			DockingWindowManager.getHelpService()
					.registerHelp(menu, new HelpLocation(PdbPlugin.PDB_PLUGIN_HELP_TOPIC,
						"SymbolServerConfig_Add"));
			return menu;
		}
The union of the changed status of the local storage path and the additional
search paths table model changed status.

@return boolean true if the config has changed
Ghidra/Features/PDB/src/main/java/pdb/symbolserver/ui/ConfigPdbDialog.java