private void ReplaceRanges(object sender, MatchesWithReplacementEventArgs e)
 {
     Contract.Requires(e.Matches.All(m => m.Range.Start >= 0 && m.Range.End <= current.Document.Content.Length));
     Logger.AcroLog.Info("ReplaceRanges: " + e.Matches);
     try
     {
         current.ReplaceRanges(e.Matches);
     }
     catch (Exception err)
     {
         Logger.AcroLog.Error(err);
         sidebar.InvalidateRanges(e.CheckId, e.Matches);
     }
 }