public class OperationAggregator<T,K,R>
The OperationAggregator takes a set of objects, splits them up based on keys determined by a KeyProvider, and then
aggregates the results back together in the correct order, after some execution has occured.
Parameters: T - Request type K - Key type R - Result type
Create new aggregator with correct types.
Call aggregator.put() with the input list, and a (usually anonymous) implementation of KeyProvider that returns
the key for the given input.
Iterate through the AggregationSet<T,K,R\> now contained in the aggregator, do something.