private static @NotNull List<VirtualFile> getHierarchy(@NotNull VirtualFile file) {
    NewVirtualFileSystem fs = (NewVirtualFileSystem)file.getFileSystem();
    List<VirtualFile> result = new ArrayList<>();
    while (true) {
      result.add(file);
      file = getParentThroughJar(file, fs);
      if (file == null) break;
      fs = (NewVirtualFileSystem)file.getFileSystem();
    }
    return result;
  }
private static @NotNull List<VirtualFile> getHierarchy(@NotNull VirtualFile file)