code: private static <V, R extends Serializable> Accumulator<V, R> mergeSingle(Accumulator<?, ?> target,
  																			 Accumulator<?, ?> toMerge) {
  		@SuppressWarnings("unchecked")
  		Accumulator<V, R> typedTarget = (Accumulator<V, R>) target;
  
  		@SuppressWarnings("unchecked")
  		Accumulator<V, R> typedToMerge = (Accumulator<V, R>) toMerge;
  
  		typedTarget.merge(typedToMerge);
  
  		return typedTarget;
  	}
docs: Workaround method for type safety.