anchor.diff:  Aggregate EIP will invoke the
   `AggregationStrategy` with `oldExchange` as null, for the first
   Exchange incoming to the aggregator. And then for
  -subsequent link:exchange.html[Exchange]s then `oldExchange` and
  +subsequent xref:exchange.adoc[Exchange]s then `oldExchange` and
   `newExchange` parameters are both not null.
   
   Example with Content Enricher EIP and no data
  
positive.code: *available as of Camel 2.16*
  
  There can be use-cases where you want the incoming
  link:exchange.html[Exchange] to determine if the correlation group
  should pre-complete, and then the incoming
  link:exchange.html[Exchange] is starting a new group from scratch. To
  determine this the `AggregationStrategy` can
  implement `PreCompletionAwareAggregationStrategy` which has
  a `preComplete` method:
  
negative.code: exchanges are completed.
  * completionSize - Is a number indicating that after X aggregated
  exchanges it's complete.
  * completionPredicate - Runs a xref:predicate.adoc[Predicate] when a new
  exchange is aggregated to determine if we are complete or not. Staring
  in *Camel 2.15*, the configured aggregationStrategy can implement the
  Predicate interface and will be used as the completionPredicate if no
  