title: Apache Camel Split and Aggregate Looses Result of Aggregate Exchange
body: <p>I'm trying to build a Split / Aggregate pattern in a Camel Route that consumes a REST endpoint. It takes a request object that contains a list of request details. I want to parallel process the request details and then return an aggregated result back to the caller. I want this to be a Synchronous call.</p>
  
  <p>Here's the code in my Route.</p>
  
  <pre><code>from("{{generate.route.endpoint}}")
      .routeId(EXAMPLE_ROUTE_ID)
      .split().method(RequestDetailsSplitter.class).stopOnException().parallelProcessing()
          .to("direct:processRequestDetails")
          .aggregate(header(TRANSACTION_ID_PARAM), responseAggregator)
              .completionSize(simple("${property.CamelSplitSize}"))
              .completionTimeout(5000L).parallelProcessing()
              .log(LoggingLevel.INFO, "After Aggregation ---&gt; ${body}")
       .end()            
      .removeHeaders("*")
      .setHeader(Exchange.HTTP_RESPONSE_CODE, 
                 simple(String.valueOf(HttpStatus.SC_CREATED)));
  </code></pre>
  
  <p>I would expect that the result of the call is the output of Aggregate call, my response object. But what I actually get is the request object returned from the REST call??</p>
  
  <p>When I put more logging statements in I can see that the Split call is firing multiple threads, which is great. And I can see the log statement above 'After Aggregation --->' with the response I want, this has it's own thread. But what happens to this output? How can I get that back into my default Exchange so it can returned to the REST call.  </p>