private void saveArchiveNames(SaveState saveState) {
		List<String> openNameList = new ArrayList<>();
		if (knownOpenFileArchiveNames.isEmpty()) {
			for (Archive archive : openArchives) {
				String filePath = null;
				if (archive instanceof FileArchive) {
					FileArchive fileArchive = (FileArchive) archive;
					ResourceFile file = fileArchive.getFile();
					if (file != null) {
						filePath = file.getAbsolutePath();
					}
				}
				else if (archive instanceof ProjectArchive) {
					filePath = getProjectPathname((ProjectArchive) archive, true);
				}
				if (filePath != null) {
					openNameList.add(filePath);
				}
			}
		}
		else {
			openNameList.addAll(knownOpenFileArchiveNames);
		}
		saveState.putStrings(ARCHIVE_NAMES, getSaveableArchiveNames(openNameList));

		List<String> recentMenuList = new ArrayList<>();
		Collection<String> recentlyOpenedArchives = plugin.getRecentlyOpenedArchives();
		for (String file : recentlyOpenedArchives) {
			recentMenuList.add(file);
		}
		saveState.putStrings(RECENT_NAMES, getSaveableArchiveNames(recentMenuList));

		// update the initialArchives list so that future checks on that list do not trigger a
		// state change
		initiallyOpenedFileArchiveNames = getOpenFileArchiveNames(openArchives);
	}
Returns all favorite DataTypes in all archives.
@return all favorite DataTypes in all archives.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/archive/DataTypeManagerHandler.java