public final class NonMutatingAggregationProcedure<T,K,V>
This procedure is used to apply an aggregate function like sum on a grouped set of data. The values in the
grouping must be immutable using this procedure. An example would be using an Integer which is immutable
vs. an AtomicInteger which is not.