title: Unable to enrich exchange from aggregation route
body: <p>I'm having an issue understanding why an aggregator is not receiving the right exchange from a sub route used to enrich the original exchange.
  What I can say is that the log prints correctly at the end of the route but in the parent route I only get a message body from earlier on in the sub route.
  With that said, here is an condensed excerpt of the routes.</p>
  <pre><code>this.from(&quot;direct:fetchPartnersForAggregation&quot;)
  .to(&quot;sql:select * from ...&quot;)
  .process(exchange -&gt; {
  List&lt;Map&lt;String, Object&gt;&gt; payload = exchange.getIn().getBody(ArrayList.class);
  exchange.getIn().setHeader(&quot;numOfPartners&quot;, payload.size());
  if(payload.size() &lt; 1 || (payload.size() == 1 &amp;&amp; payload.get(0).get(&quot;process_id&quot;)== null))
    exchange.getIn().setBody(null);
  })
  .choice()
  .when(not(emptyBody))
      .split(body())
      .streaming()
      .setHeader(&quot;partner_id&quot;, simple(&quot;${body[process_id]}&quot;))
      .to(&quot;sql:select ....&quot;)
      .setHeader(Constants.EXCHANGE_HEADERS.OBJECT_TYPE, simple(&quot;partners&quot;))
      .to(&quot;log:partner_extracted?showBody=true&amp;showHeaders=true&quot;)
      .process(appIdCollator)
      .process(partnerBuilder)
      .aggregate(constant(true), partnersAggregator)
      .completionPredicate(new PartnerSizePredicate())
      .to(&quot;log:partners_collated?showBody=true&amp;showHeaders=true&quot;)  //The log prints everything correctly
  .end();
  
  
  //In my other route:
  ...
  .enrich(&quot;direct:fetchPartnersForAggregation&quot;, partnersAggregator).id(&quot;partners_added&quot;) &lt;========== The 'newExchange' in this partnersAggregator contains the body returned in the first sql:Select in the aggregation route.
  </code></pre>