ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
ClassLoaders loaders = new ClassLoaders();
loaders.put(classLoader);
loaders.put(this.getClass().getClassLoader());
DiscoverServiceNames dsn = new DiscoverServiceNames(loaders);
ResourceNameIterator iter = dsn.findResourceNames(LIFECYCLE_PROVIDER);
while (iter.hasNext())
{
String className = iter.nextResourceName();
Object obj = createClass(className, externalContext);
if (DiscoverableLifecycleProvider.class.isAssignableFrom(obj.getClass()))