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>());
        }