boolean (JpsModule module, Processor<? super JpsDependencyElement> processor, Set<? super JpsModule> processed) { if (!processed.add(module)) return true; for (JpsDependencyElement element : module.getDependenciesList().getDependencies()) { if (myCondition != null && !myCondition.value(element)) continue; if (myWithoutSdk && element instanceof JpsSdkDependency || myWithoutLibraries && element instanceof JpsLibraryDependency || myWithoutModuleSourceEntries && element instanceof JpsModuleSourceDependency) continue; if (myWithoutDepModules) { if (!myRecursively && element instanceof JpsModuleDependency) continue; if (element instanceof JpsModuleSourceDependency && !isEnumerationRootModule(module)) continue; } if (!shouldProcess(module, element)) { continue; } if (element instanceof JpsModuleDependency) { if (myRecursively && shouldProcessDependenciesRecursively()) { JpsModule depModule = ((JpsModuleDependency)element).getModule(); if (depModule != null) { if (!doProcessDependencies(depModule, processor, processed)) { return false; } continue; } } if (myWithoutDepModules) continue; } if (!processor.process(element)) { return false; } } return true; }