public Object invoke(Object o, Method method, Object[] parameters) throws Throwable {
T instance;
if (createdTypeData.isConstructorInjection()) {
CurrentInjectionPoint currentInjectionPoint = Container.instance().services().get(CurrentInjectionPoint.class);
currentInjectionPoint.push(ConstructorInjectionPoint.of(bean, (WeldConstructor<T>) createdTypeData.getCreatedTypeConstructor()));
instance = newInstance(parameters);
currentInjectionPoint.pop();
} else {
instance = newInstance(parameters);
createdTypeData.getCreatedTypeInjectionTarget().inject(instance, creationalContext);