private static Collection<BQModuleProvider> moduleProviderDependencies( Collection<BQModuleProvider> rootSet, Set<BQModuleProvider> processed) { for (BQModuleProvider moduleProvider : rootSet) { if (!processed.contains(moduleProvider)) { processed.add(moduleProvider); final Collection<BQModuleProvider> dependencies = moduleProvider.dependencies(); if (!dependencies.isEmpty()) { processed.addAll(moduleProviderDependencies(dependencies, processed)); } } } return processed; }
private static Collection<BQModuleProvider> moduleProviderDependencies( Collection<BQModuleProvider> rootSet, Set<BQModuleProvider> processed) { for (BQModuleProvider moduleProvider : rootSet) { if (!processed.contains(moduleProvider)) { processed.add(moduleProvider); final Collection<BQModuleProvider> dependencies = moduleProvider.dependencies(); if (!dependencies.isEmpty()) { processed.addAll(moduleProviderDependencies(dependencies, processed)); } } } return processed; }