class DefaultSignatureSigningParametersResolver implements SignatureSigningParametersResolver {
    private SignatureSigningParametersProvider provider;

    /**
     * <p>Constructor for DefaultSignatureSigningParametersResolver.</p>
     *
     * @param provider a {@link SignatureSigningParametersProvider} object
     */
    public DefaultSignatureSigningParametersResolver(final SignatureSigningParametersProvider provider) {
        this.provider = provider;
    }

    /** {@inheritDoc} */
    @Override
    public Iterable<SignatureSigningParameters> resolve(final CriteriaSet criteria) throws ResolverException {
        val ret = resolveSingle(criteria);
        return ret == null ? Collections.emptySet() : Collections.singleton(ret);
    }

    /** {@inheritDoc} */
    @Override
    public SignatureSigningParameters resolveSingle(final CriteriaSet criteria) throws ResolverException {<FILL_FUNCTION_BODY>}
}

        if (criteria == null) {
            throw new ResolverException("CriteriaSet was null");
        }
        val role = criteria.get(RoleDescriptorCriterion.class);
        if (role == null) {
            throw new ResolverException("No RoleDescriptorCriterion specified");
        }
        return provider.build((SSODescriptor) role.getRole());
    
<no_super_class>