Well after tinkering and tinkering... this works
public Object onActivate(String id) { if (beanType == null) return Utils.new404(messages); this.bean = contextValueEncoder.toValue(beanType, id); if (bean == null) return Utils.new404(messages); return null; } no annotation... ???????????? Does anyone know why ?