public static class Factory<T extends ContainerConfiguration> {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static <T extends ContainerConfiguration> ManagedContainer<T> create(T configuration) throws LifecycleException {
RuntimeType type = configuration.getRuntimeType();
ServiceLoader<ManagedContainer> loader = ServiceLoader.load(ManagedContainer.class);
Iterator<ManagedContainer> iterator = loader.iterator();
while(iterator.hasNext()) {
ManagedContainer<T> service = iterator.next();
if (service.getRuntimeType() == type) {