Result (@NotNull VirtualFile file) { progressIndicator.checkCanceled(); if (file.isDirectory()) { if (typeManager.isFileIgnored(file) || StringUtil.startsWithIgnoreCase(file.getName(), "testData")) { return SKIP_CHILDREN; } } else { FileType type = typeManager.getFileTypeByFileName(file.getNameSequence()); if (JavaFileType.INSTANCE == type) { VirtualFile root = suggestRootForJavaFile(file); if (root != null) { foundDirectories.add(root); return skipTo(root); } } } return CONTINUE; }