private static void collectClasspathEntries(String moduleName,
                                              Map<String, RawRuntimeModuleDescriptor> descriptorMap,
                                              Set<String> processedModules,
                                              Set<String> classpath) {
    if (!processedModules.add(moduleName)) return;
    RawRuntimeModuleDescriptor descriptor = descriptorMap.get(moduleName);
    if (descriptor == null) return;
    classpath.addAll(descriptor.getResourcePaths());
    for (String dependency : descriptor.getDependencies()) {
      collectClasspathEntries(dependency, descriptorMap, processedModules, classpath);
    }
  }
private static void collectClasspathEntries(String moduleName,
                                              Map<String, RawRuntimeModuleDescriptor> descriptorMap,
                                              Set<String> processedModules,
                                              Set<String> classpath)