@Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { DcFile file = (DcFile) attrs; // Groups can only contain other groups. If we are searching groups, accept the group, // otherwise, continue if (file.getType() instanceof GroupType) { if (filter.searchGroups() && filter.matcher.matches(dir)) { accept(file); } return FileVisitResult.SKIP_SUBTREE; } folderStack.add(file); return FileVisitResult.CONTINUE; }