void (@NotNull IdeaModule ideaModule, @NotNull DataNode<ModuleData> moduleNode) { ExternalProject externalProject = resolverCtx.getExtraProject(ideaModule, ExternalProject.class); if (externalProject == null) return; if (resolverCtx.isResolveModulePerSourceSet()) { Map<ExternalSourceSet, DataNode<GradleSourceSetData>> sourceSets = findSourceSets(ideaModule, externalProject, moduleNode); for (Map.Entry<ExternalSourceSet, DataNode<GradleSourceSetData>> entry : sourceSets.entrySet()) { ExternalSourceSet sourceSet = entry.getKey(); DataNode<GradleSourceSetData> sourceSetDataNode = entry.getValue(); JavaModuleData moduleData = createSourceSetModuleData(ideaModule, sourceSet); sourceSetDataNode.createChild(JavaModuleData.KEY, moduleData); populateModuleSdkModel(ideaModule, sourceSetDataNode, sourceSet); } } populateModuleSdkModel(ideaModule, moduleNode, null); JavaModuleData moduleData = createMainModuleData(ideaModule, externalProject); moduleNode.createChild(JavaModuleData.KEY, moduleData); }