}
final ProviderIdent ident = new ProviderIdent(service.getName(), providerName);
if (null == pluginProviderDefs.get(ident)) {
//look for plugin def
final PluginMeta pluginMeta;
try {
pluginMeta = getPluginMeta();
} catch (IOException e) {
throw new ProviderLoaderException(e, service.getName(), providerName);
}
if (null == pluginMeta) {
throw new ProviderLoaderException("Unable to load plugin metadata for file: " + file, service.getName(),
providerName);
}
for (final ProviderDef pluginDef : pluginMeta.getPluginDefs()) {
if (matchesProvider(ident, pluginDef)) {
final ScriptPluginProvider provider;
try {
provider = getPlugin(file, pluginDef, ident);
} catch (PluginException e) {