@Override
  protected MuleEvent aggregateEvents(EventGroup events) throws AggregationException {
    StringBuilder aggregateResponse = new StringBuilder();
    MuleEvent event = null;

    try {
      for (Iterator<MuleEvent> iterator = events.iterator(); iterator.hasNext(); ) {
        event = iterator.next();
        try {
          MuleMessage message = event.getMessage();
          System.out.println(
              "//TODO: HOUSSOU message => " + message + "type => " + message.getClass());
          doAggregate(aggregateResponse, message);
        } catch (Exception e) {
          throw new AggregationException(events, null, e);
        }
      }
      System.out.println("//TODO: HOUSSOU aggregateResponse => " + aggregateResponse);
      return new DefaultMuleEvent(
          new DefaultMuleMessage(aggregateResponse, events.toMessageCollection().getMuleContext()),
          events.getMessageCollectionEvent());
    } catch (ObjectStoreException e) {
      throw new AggregationException(events, null);
    }
  }