public RewrittenContent Rewrite(string content, Uri sourceUrl) { if (content == null) { throw new ArgumentNullException("content"); } if (sourceUrl == null) { throw new ArgumentNullException("sourceUrl"); } if (!sourceUrl.IsAbsoluteUri) { throw new ArgumentException("sourceUrl must be an absolute url"); } var reWrittenContent = _preRewriter.Rewrite(content, sourceUrl); if (!_sourceUrlCondition(sourceUrl)) { return(reWrittenContent); } return(new RewrittenContent( MakeReplacement(reWrittenContent.Content), reWrittenContent.ReferencedRelativeUrls )); }