@Nonnull
	public static Tree<String, String> getSystemClassTree() {
		if (classTree == null) {
			synchronized (ClasspathUtil.class) {
				if (classTree == null) {
					classTree = new SortedTreeImpl<>();
					ModuleFinder.ofSystem().findAll().stream()
							.map(Unchecked.function(ModuleReference::open))
							.flatMap(Unchecked.function(ModuleReader::list))
							.filter(s -> s.endsWith(".class") && s.indexOf('-') == -1)
							.map(s -> s.substring(0, s.length() - 6))
							.forEach(s -> {
								String[] sections = s.split("/");
								Tree<String, String> path = classTree;
								for (String section : sections) {
									SortedTree<String, String> copy = (SortedTree<String, String>) path;
									path = path.computeIfAbsent(section, x -> new SortedTreeImpl<>(copy, x));
								}
							});
				}
			}
		}
		return classTree;
	}
@return Tree representation of all system classes.
recaf-core/src/main/java/software/coley/recaf/util/ClasspathUtil.java