boolean (@Nullable VirtualFile file) { if (file == null) return false; if (file.is(VFileProperty.SYMLINK) && file.getCanonicalPath() == null) { return false; } if (file.isDirectory() && myChooseFolders) { return true; } if (myFileFilter != null && !file.isDirectory()) { return myFileFilter.value(file); } return acceptAsJarFile(file) || acceptAsGeneralFile(file); }