private static Class<? extends TestContainerFactory> loadFactoryClass(final String factoryClassName) {
Class<? extends TestContainerFactory> factoryClass;
final Class<Object> loadedClass = AccessController.doPrivileged(ReflectionHelper.classForNamePA(factoryClassName, null));
if (loadedClass == null) {
throw new TestContainerException(String.format(
"Test container factory class '%s' cannot be loaded", factoryClassName));
}
try {
return loadedClass.asSubclass(TestContainerFactory.class);
} catch (final ClassCastException ex) {
throw new TestContainerException(String.format(
"Class '%s' does not implement TestContainerFactory SPI.", factoryClassName), ex);
}
}