private void importIconFile(File file) {

			if (!isValidIcon(file)) {
				Msg.error(this, "File is not a valid icon: " + file.getAbsolutePath());
				return;
			}
			File dir = Application.getUserSettingsDirectory();
			String relativePath = IMAGE_DIR + file.getName();

			File destinationFile = new File(dir, relativePath);
			if (destinationFile.exists()) {
				int result = OptionDialog.showYesNoDialog(dropDown, "Overwrite?",
					"An icon with that name already exists.\n Do you want to overwrite it?");
				if (result == OptionDialog.NO_OPTION) {
					return;
				}
			}
			try {
				FileUtils.copyFile(file, destinationFile);
				String path = ResourceManager.EXTERNAL_ICON_PREFIX + relativePath;
				ImageIcon icon = ResourceManager.loadImage(path);
				setValue(icon);
			}
			catch (IOException e) {
				Msg.showError(this, dropDown, "Error importing file", e);
			}
		}
Returns all icons loaded by core Ghidra modules. For this use, we only want to use
icons that are part of a standard distribution because if they are exported, they may
not be available on import. Non-core icons can be used by picking them from the file
system.
@Return all icons loaded by core Ghidra modules
Ghidra/Framework/Docking/src/main/java/docking/options/editor/IconPropertyEditor.java