class ScriptProgressCheck implements ProgressCheck {

    @Override
    public void beforeExtract(final PackageId packageId, final Session inspectSession,
                              final PackageProperties packageProperties, final MetaInf metaInf,
                              final List<PackageId> subpackages) throws RepositoryException {
        guardSessionHandler(INVOKE_ON_BEFORE_EXTRACT,
                handle -> handle.apply(packageId, inspectSession, packageProperties,
                        metaInf, subpackages.toArray(new PackageId[0])));
    }

      ScriptProgressCheck(final @NotNull Invocable script,
                        final @NotNull ScriptHelper helper,
                        final @Nullable URL scriptUrl);

}