if (fRootPath == null) { int index = Integer.MAX_VALUE; for (Enumeration entries = zip.entries(); entries.hasMoreElements(); ) { entry = (ZipEntry) entries.nextElement(); int newIndex = entry.getName().indexOf(name); if (newIndex != -1) { index = Math.min(index, newIndex); savedEntry = entry; } } if (savedEntry != null) { if (index == 0) { fRootPath = IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH; } else { fRootPath = savedEntry.getName().substring(0, index - 1); } } else { return null; } } if (fRootPath != null && !fRootPath.equals(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH)) { fullName = fRootPath + '/' + name; } else { fullName = name; }