public RangesNotFoundException(string message, IReadOnlyList<IRange> ranges, Exception inner) : base(string.Join(Environment.NewLine, message, string.Join(Environment.NewLine, ranges.Select(range=> range + " not found."), inner))) { Contract.Requires(message != null); Contract.Requires(ranges != null); }