public static @NotNull VirtualFile findVersionSpecificFile(@NotNull VirtualFile file, @NotNull LanguageLevel level) {
    VirtualFile root = VfsUtilCore.getRootFile(file);
    if (!(root.getFileType() instanceof ArchiveFileType)) return file;
    String relativePath = VfsUtilCore.getRelativePath(file, root);
    if (relativePath == null) return file;
    VirtualFile metaInf = root.findChild("META-INF");
    if (metaInf == null) return file;
    VirtualFile versions = metaInf.findChild("versions");
    if (versions == null) return file;
    int feature = level.feature();
    int minFeature = MIN_MULTI_RELEASE_VERSION.feature();
    while (feature >= minFeature) {
      VirtualFile versionRoot = versions.findChild(String.valueOf(feature));
      if (versionRoot != null) {
        VirtualFile target = versionRoot.findFileByRelativePath(relativePath);
        if (target != null) {
          return target;
        }
      }
      feature--;
    }
    return file;
  }
public static @NotNull VirtualFile findVersionSpecificFile(@NotNull VirtualFile file, @NotNull LanguageLevel level)