private Set<String> getClassPathModuleNames() {
		String cp = System.getProperty("java.class.path");
		String[] pathParts = cp.split(File.pathSeparator);
		Set<String> paths = new HashSet<>(Arrays.asList(pathParts));
		Set<String> cpNames = new HashSet<>();
		for (String cpEntry : paths) {
			Matcher matcher = CLASS_PATH_MODULE_NAME_PATTERN.matcher(cpEntry);
			if (matcher.matches()) {
				cpNames.add(matcher.group(1));
			}
		}
		return cpNames;
	}
Constructs a new application layout object with the given set of application
properties.

@param applicationRootDirs list of application root directories which should be
used to identify modules and resources.  The first entry will be treated as the
installation root.
@param applicationProperties The properties object that will be read system properties.
@throws IOException if there was a problem getting a user directory.
Ghidra/Framework/Generic/src/main/java/generic/application/GenericApplicationLayout.java