@Override
public void registerWithBeanManager(final InjectionContext context,
final Statement valueRef) {
if (InjectUtil.checkIfTypeNeedsAddingToBeanStore(context, this)) {
final QualifyingMetadata md = delegate.getQualifyingMetadata();
context.getProcessingContext().appendToEnd(
Stmt.loadVariable(context.getProcessingContext().getContextVariableReference())
.invoke("addBean", type, delegate.getInjectedType(), Refs.get(getCreationalCallbackVarName()),
isSingleton() ? valueRef : null, md.render(), null, false));
for (final RegistrationHook hook : getRegistrationHooks()) {
hook.onRegister(context, valueRef);
}
}