PackageDependenciesNode (Module module, ScopeType scopeType) { if (module == null || !myShowModules) { return getRootNode(scopeType); } ModuleNode node = getMap(myModuleNodes, scopeType).get(module); if (node != null) return node; node = new ModuleNode(module, myShowModuleGroups ? myModuleGrouper : null); final List<String> groupPath = myModuleGrouper.getGroupPath(module); if (groupPath.isEmpty()) { getMap(myModuleNodes, scopeType).put(module, node); getRootNode(scopeType).add(node); return node; } getMap(myModuleNodes, scopeType).put(module, node); if (myShowModuleGroups) { getParentModuleGroup(groupPath, scopeType).add(node); } else { getRootNode(scopeType).add(node); } return node; }