private IEnumerable<StyleRule> GroupRules(IEnumerable<StyleRule> input)
{
var list = input.ToList();
while (list.Count > 0)
{
var rule = list.First();
var rules = list.FindAll(r => rule.Properties.SequenceEqual(r.Properties));
list.RemoveAll(r => rule.Properties.SequenceEqual(r.Properties));
var newrule = new StyleRule
{
Properties = rule.Properties,
Selectors = rules.Select(r => r.Selectors.First()).ToList()
};
yield return newrule;
}
}