class JwtBundle implements BundleSource<JwtBundle> {

    public static JwtBundle load(@NonNull final TrustDomain trustDomain, @NonNull final Path bundlePath)
            throws KeyException, JwtBundleException {
        try {
            val jwkSet = JWKSet.load(bundlePath.toFile());
            return toJwtBundle(trustDomain, jwkSet);
        } catch (IOException | ParseException | JOSEException e) {
            val error = "Could not load bundle from file: %s";
            throw new JwtBundleException(String.format(error, bundlePath.toString()), e);
        }
    }

    public  JwtBundle(@NonNull final TrustDomain trustDomain);
    public  JwtBundle(@NonNull final TrustDomain trustDomain, @NonNull final Map<String, PublicKey> jwtAuthorities);

}