private static Validation ThrowValidationException(Validation validation) { SegmentedList <Exception> exceptions = new SegmentedList <Exception>(validation.Exceptions, 7); SegmentedList <Exception> collection = new SegmentedList <Exception>(); collection.AddIfNotNull <Exception>(ReduceArgumentNullExceptions(exceptions)); if (collection.Count == 1) { throw collection[0]; } throw new AggregateException(collection.Concat <Exception>(exceptions).Distinct <Exception>()); }