code: public static void mergeInto(Map<String, OptionalFailure<Accumulator<?, ?>>> target, Map<String, Accumulator<?, ?>> toMerge) {
  		for (Map.Entry<String, Accumulator<?, ?>> otherEntry : toMerge.entrySet()) {
  			OptionalFailure<Accumulator<?, ?>> ownAccumulator = target.get(otherEntry.getKey());
  			if (ownAccumulator == null) {
  				// Create initial counter (copy!)
  				target.put(
  					otherEntry.getKey(),
  					wrapUnchecked(otherEntry.getKey(), () -> otherEntry.getValue().clone()));
  			}
  			else if (ownAccumulator.isFailure()) {
  				continue;
  			}
  			else {
  				Accumulator<?, ?> accumulator = ownAccumulator.getUnchecked();
  				// Both should have the same type
  				compareAccumulatorTypes(otherEntry.getKey(),
  					accumulator.getClass(), otherEntry.getValue().getClass());
  				// Merge target counter with other counter
  
  				target.put(
  					otherEntry.getKey(),
  					wrapUnchecked(otherEntry.getKey(), () -> mergeSingle(accumulator, otherEntry.getValue().clone())));
  			}
  		}
  	}
docs: Merge two collections of accumulators. The second will be merged into the
  first.
  
  @param target
  The collection of accumulators that will be updated
  @param toMerge
  The collection of accumulators that will be merged into the
  other