private void populateProjectURLList(List<URL> list, String propertyName) {
		String projectNames = Preferences.getProperty(propertyName, null, true);
		if (projectNames == null) {
			return;
		}

		StringTokenizer st = new StringTokenizer(projectNames, PROJECT_PATH_SEPARATOR);
		while (st.hasMoreElements()) {
			String urlStr = (String) st.nextElement();
			try {
				URL url = GhidraURL.toURL(urlStr);
				if (GhidraURL.isLocalProjectURL(url) && !GhidraURL.localProjectExists(url)) {
					continue;
				}
				list.add(url);
				if (list.size() == RECENT_PROJECTS_LIMIT) {
					break;
				}
			}
			catch (IllegalArgumentException e) {
				Msg.error(this, "Invalid project path/URL: " + urlStr);
			}
		}

	}
Add the project to the given list;
most recently accessed projects are first in the list.
Ghidra/Framework/Project/src/main/java/ghidra/framework/project/DefaultProjectManager.java