boolean (@NotNull VirtualFile file) { if (!file.is(VFileProperty.SYMLINK)) { return true; } if (!myFollowSymLinks) { return false; } // ignoring invalid and recursive symbolic links - to avoid visiting files twice return !file.isRecursiveOrCircularSymlink(); }