private ZipResource getEntry() throws IOException {
      ZipResource result = entry;
      if (result == null) {
        String spec = url.getFile();
        int index = spec.indexOf("!/");
        if (index != -1) {
          index += 2;
        }
        String entryName = index != -1 && index != spec.length() ? spec.substring(index) : null;
        Resource resource = entryName == null ? null : jarLoader.zipFile.getResource(entryName, jarLoader);
        if (resource == null) {
          throw new NoSuchFileException("Cannot find `" + spec + "` in " + jarLoader.getPath());
        }
        result = ((ZipFileResource)resource).entry;
        entry = result;
      }
      return result;
    }
private ZipResource getEntry()