public static class Specialized<V> extends FlexSpread<V> implements Transfer.Specialized<V,V> {
final General.Spread<V> base;
public Specialized(Spreader<V> spreader, Aggregates<? extends V> aggs) {
super(spreader);
Class<?> targetClass = aggs.defaultValue().getClass();
Aggregator combiner = null;
for (Aggregator a: combiners) {
if (a.identity().getClass().isAssignableFrom(targetClass)) {
combiner = a; break;
}
}