LessCss.StyleDocument.GroupRules C# (CSharp) Method

GroupRules() private method

private GroupRules ( IEnumerable input ) : IEnumerable
input IEnumerable
return IEnumerable
		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;
			}			
		}