super(decoratesWith);
}
@Override
public Statement generateDecorator(InjectableInstance<ConversationContext> injectableInstance) {
final MetaField field = injectableInstance.getField();
final JClassType eventClassType = injectableInstance.getInjectionContext().getProcessingContext()
.loadClassType(Event.class);
if (!MetaClassFactory.get(eventClassType).isAssignableFrom(field.getType())) {
throw new RuntimeException("@ConversationContext should be used with type Event");
}
MetaParameterizedType type = field.getType().getParameterizedType();
if (type == null) {
throw new RuntimeException("Event<?> must be parameterized");
}
MetaClass typeParm = (MetaClass) type.getTypeParameters()[0];