public static void AddElementChangedResult <T>(this IChangeResultAggregator aggregator, SemVerChangeType changeType, ItemMatch <T> match, IMessageFormatter messageFormatter, FormatArguments arguments) where T : IItemDefinition { aggregator = aggregator ?? throw new ArgumentNullException(nameof(aggregator)); match = match ?? throw new ArgumentNullException(nameof(match)); messageFormatter = messageFormatter ?? throw new ArgumentNullException(nameof(messageFormatter)); arguments = arguments ?? throw new ArgumentNullException(nameof(arguments)); var message = messageFormatter.FormatItemChangedMessage(match, arguments); var result = new ComparisonResult( changeType, match.OldItem, match.NewItem, message); aggregator.AddResult(result); }