@Override
  public @Nullable Attributes loadManifestAttributes() throws IOException {
    ZipFile zipFile = getZipFile();
    try {
      ZipEntry entry = zipFile.getEntry(JarFile.MANIFEST_NAME);
      if (entry == null) {
        return null;
      }

      try (InputStream stream = zipFile.getInputStream(entry)) {
        return new Manifest(stream).getMainAttributes();
      }
      catch (Exception ignored) {
      }
      return null;
    }
    finally {
      if (!lockJars){
        zipFile.close();
      }
    }
  }
@Override
  public @Nullable Attributes loadManifestAttributes()