Insert a data element of type S into the current generation of data
carrier T. This could be e.g. adding to a list, putting into a local
histogram or increasing a counter.
The method may or may not return a fresh instance of the current
value for each invokation, if using a mutable aggregator the typical
case will be returning the same instance for the new and old value of
current, while if using an immutable aggregator, one is forced to
return new instances.
Examples:
Using a mutable aggregator (a list of instances of type SAMPLE):
current.add(x);
return current;
Using an immutable aggregator (Integer) while also using Integer as
type for SAMPLE:
return Integer.valueOf(current.intValue() + x.intValue());