code: @SuppressWarnings("unchecked")
      Object buildEvent(Message message) {
          Object event = eventPool.get();
          if (event instanceof ContainsData) {
              ((ContainsData) event).setData(message.getBodyContent());
          } else if (event instanceof ContainsContent) {
              Class<?> parameterType = getParameterType(event, ContainsContent.class);
              ((ContainsContent) event).setContent(message.getBodyAs(parameterType));
          } else if (event instanceof ContainsId) {
              Class<?> parameterType = getParameterType(event, ContainsId.class);
              ((ContainsId) event).setId(message.getBodyAs(parameterType));
          }
          return event;
      }
docs: Builds a CDI event from a message. The CDI event instance is retrieved
  from the injection container.
  
  @param message The message
  @return The CDI event