List<VirtualFile> (@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; }