public MatchesNotFoundException(string message, IReadOnlyList<Match> matches, Exception inner)
: base(string.Join(Environment.NewLine, message, string.Join(Environment.NewLine, matches.Select(match => "Match: " + match.Content + " " + match.Range + " not found."))), inner)
{
Contract.Requires(matches != null);
this.Matches = matches;
}