code: protected Manifest getJarManifest(String assetId) throws IOException {
          ZipFile repoZip = null;
          Manifest manifest = new Manifest();
          try {
              repoZip = createZipFile();
              ZipEntry entry = createFromRelative(assetId);
  
              if (null == entry) {
                  return null;
              }
  
              // Input stream to the inner zip
              ZipInputStream zis = new ZipInputStream(repoZip.getInputStream(entry));
              ZipEntry innerEntry = zis.getNextEntry();
              while (null != innerEntry) {
                  if ("meta-inf/manifest.mf".equalsIgnoreCase(innerEntry.getName())) {
                      manifest.read(zis);
                      break;
                  }
                  innerEntry = zis.getNextEntry();
              }
          } finally {
              if (repoZip != null) {
                  repoZip.close();
              }
          }
          return manifest;
      }
docs: {@inheritDoc}
  
  @throws IOException