} else if (value instanceof String) {
try {
String[] parts = ((String)value).split(":", 2);
ResourceFinder finder = new ResourceFinder("META-INF", classLoader);
Map<String,Class> plugins = finder.mapAvailableImplementations(TransactionPolicyFactory.class);
Class<? extends TransactionPolicyFactory> clazz = plugins.get(parts[0]).asSubclass(TransactionPolicyFactory.class);
if (clazz != null) {
if (parts.length == 1) {
factory = clazz.getConstructor(String.class).newInstance(parts[1]);
} else {