@Override public ManagedReference getReference() { final BeanManagerImpl beanManager = this.beanManager.getValue(); final CreationalContext<?> ctx; if (bean == null) { ctx = beanManager.createCreationalContext(null); } else { ctx = beanManager.createCreationalContext(bean); } final Object instance = injectionTarget.produce(ctx); return new WeldManagedReference(ctx, instance, injectionTarget, interceptorInjections); }