void (final List<? super String> paths, final String rootPath, @Nullable Processor<? super String> progressUpdater) { if (progressUpdater != null) { progressUpdater.process(rootPath); } final String project = findProjectName(rootPath); if (project != null) { paths.add(rootPath); } final File root = new File(rootPath); if (root.isDirectory()) { final File[] files = root.listFiles(); if (files != null) { for (File file : files) { findModuleRoots(paths, file.getPath(), progressUpdater); } } } }