public static IEnumerable <DiffInstance> TranslateComparison(IEnumerable <DiffInstance> aDiffs)
        {
            foreach (string section in aDiffs.Select(aDiff => aDiff.Section).Distinct())
            {
                IEnumerable <DiffInstance> diffs =
                    aDiffs.Where(aDiff =>
                                 aDiff.Section == section &&
                                 aDiff.difference.Length > 0);

                DiffTranslator translator = TranslatorRegistry.GetTranslators().FirstOrDefault(aTranslator => aTranslator.Section == section);
                if (translator != null)
                {
                    foreach (DiffInstance diff in translator.Translate(diffs))
                    {
                        // Since all translators should be able to translate sections, we do that here.
                        diff.Section = translator.TranslatedSection;
                        yield return(diff);
                    }
                }
                else
                {
                    foreach (DiffInstance diff in diffs)
                    {
                        yield return(diff);
                    }
                }
            }
        }
 public static void RegisterTranslator(DiffTranslator aTranslator)
 {
     translators.Add(aTranslator);
 }