/// <summary>
 /// Provides a new way to combine data for the specified class values.
 /// </summary>
 /// <param name="type">The type of objects for which this formula is
 /// applicable.</param>
 /// <param name="func">The function to combine all the values into one
 /// property.</param>
 /// <returns>The current <see cref="RecordMerger"/> for chaining.</returns>
 public RecordMerger AddMeasure(Type type, MergeMeasures func)
 {
     typeMeasures.Add(type, func);
     return(this);
 }
 /// <summary>
 /// Provides a new way to combine data for the specified class values.
 /// </summary>
 /// <typeparam name="T">The type of objects for which this formula is
 /// applicable.</typeparam>
 /// <param name="func">The function to combine all the values into one
 /// property.</param>
 /// <returns>The current <see cref="RecordMerger"/> for chaining.</returns>
 public RecordMerger AddMeasure <T>(MergeMeasures func) =>
 AddMeasure(typeof(T), func);
 /// <summary>
 /// Provides a new way to combine data for the specified class values.
 /// </summary>
 /// <param name="className">The name of the class where this value is applicable.
 /// </param>
 /// <param name="func">The function to combine all the values into one
 /// property.</param>
 /// <returns>The current <see cref="RecordMerger"/> for chaining.</returns>
 public RecordMerger AddMeasure(string className, MergeMeasures func)
 {
     classMeasures.Add(className, func);
     return(this);
 }