VirtualFile (@NotNull NewVirtualFile root, @NotNull NewVirtualFileSystem fs, @NotNull List<String> names, int startIndex) { VirtualFile file = root; for (int i = names.size() - 1; i >= startIndex; i--) { String name = names.get(i); file = findChildThroughJar(file, name, fs); if (file == null) break; } return file; }