public List<ExchangeRateProvider> getExchangeRateProviders(String... providers) {
        List<ExchangeRateProvider> provInstances = new ArrayList<>();
        Collection<String> providerNames = Arrays.asList(providers);
        if (providerNames.isEmpty()) {
            providerNames = getProviderNames();
        }
        for (String provName : providerNames) {
            ExchangeRateProvider provider = getExchangeRateProvider(provName);
            if(provider==null){
                throw new MonetaryException("Unsupported conversion/rate provider: " + provName);
            }
            provInstances.add(provider);
        }
        return provInstances;
    }
public List < ExchangeRateProvider > getExchangeRateProviders ( String ... providers ) { List < ExchangeRateProvider > provInstances = new ArrayList < > ( ) ; Collection < String > providerNames = Arrays . asList ( providers ) ; if ( providerNames . isEmpty ( ) ) { providerNames = getProviderNames ( ) ; } for ( String provName : providerNames ) { ExchangeRateProvider provider = getExchangeRateProvider ( provName ) ; if ( provider == null ) { throw new MonetaryException ( "Unsupported conversion/rate provider: " + provName ) ; } provInstances . add ( provider ) ; } return provInstances ; }
Access the current registered {@link javax.money.convert.ExchangeRateProvider} instances. If no provider
names are passed ALL current registered providers are returned in undefined order.

@param providers the provider names of hte providers to be accessed
@return the list of providers, in the same order as requested.
@throws javax.money.MonetaryException if a provider could not be resolved.