Kernel kernel = controller.getKernel();
KernelConfigurator configurator = kernel.getConfigurator();
BeanMetaData metaData = context.getBeanMetaData();
BeanInfo info = context.getBeanInfo();
final Joinpoint joinPoint = configurator.getConstructorJoinPoint(info, metaData.getConstructor(), metaData);
Object object = dispatchJoinPoint(context, joinPoint);
if (object == null)
throw new IllegalStateException("Instantiate joinpoint returned a null object: " + joinPoint);
context.setTarget(object);