VirtualFile (VirtualFile file) { if (file.isDirectory() && (myChooseFolders || isFileSelectable(file))) { return file; } boolean isJar = FileTypeRegistry.getInstance().isFileOfType(file, ArchiveFileType.INSTANCE); if (!isJar) { return acceptAsGeneralFile(file) ? file : null; } if (myChooseJarsAsFiles) { return file; } if (!acceptAsJarFile(file)) { return null; } String path = file.getPath(); return JarFileSystem.getInstance().findFileByPath(path + JarFileSystem.JAR_SEPARATOR); }