private void Split(StyleComplexSelector complexSelector1, StyleComplexSelector complexSelector2)
        {
            var comment1 = s1Comments.Get(complexSelector1.rule);

            s1Builder.BeginRule(comment1);
            StyleSheetBuilderHelper.BuildSelector(complexSelector1, s1Builder);

            var comment2 = s2Comments.Get(complexSelector2.rule);

            s2Builder.BeginRule(comment2);
            StyleSheetBuilderHelper.BuildSelector(complexSelector2, s2Builder);

            commonBuilder.BeginRule(string.IsNullOrEmpty(comment1) ? comment2 : comment1);
            StyleSheetBuilderHelper.BuildSelector(complexSelector2, commonBuilder);

            // This is a common selector to both s1 and s2, for each properties determine what is common:
            var properties = new Dictionary <string, PropertyPair>();

            StyleSheetBuilderHelper.PopulateProperties(complexSelector1.rule.properties, properties, true);
            StyleSheetBuilderHelper.PopulateProperties(complexSelector2.rule.properties, properties, false);

            foreach (var propertyPair in properties.Values)
            {
                if (propertyPair.p1 != null)
                {
                    if (propertyPair.p2 != null)
                    {
                        // Extend needs to be in common, s1 and s2:
                        if (propertyPair.p1.name == ConverterUtils.k_Extend)
                        {
                            StyleSheetBuilderHelper.CopyProperty(s1Cache.sheet, s1Comments, propertyPair.p1, commonBuilder);
                            StyleSheetBuilderHelper.CopyProperty(s1Cache.sheet, s1Comments, propertyPair.p1, s1Builder);
                            StyleSheetBuilderHelper.CopyProperty(s2Cache.sheet, s2Comments, propertyPair.p2, s2Builder);
                        }
                        // Possibly common property
                        else if (CompareProperty(propertyPair.p1, propertyPair.p2))
                        {
                            StyleSheetBuilderHelper.CopyProperty(s1Cache.sheet, s1Comments, propertyPair.p1, commonBuilder);
                        }
                        else
                        {
                            StyleSheetBuilderHelper.CopyProperty(s1Cache.sheet, s1Comments, propertyPair.p1, s1Builder);
                            StyleSheetBuilderHelper.CopyProperty(s2Cache.sheet, s2Comments, propertyPair.p2, s2Builder);
                        }
                    }
                    else
                    {
                        // Only in s1: copy straight
                        StyleSheetBuilderHelper.CopyProperty(s1Cache.sheet, s1Comments, propertyPair.p1, s1Builder);
                    }
                }
                else
                {
                    // Only in s2: copy straight
                    StyleSheetBuilderHelper.CopyProperty(s2Cache.sheet, s2Comments, propertyPair.p2, s2Builder);
                }
            }

            s1Builder.EndRule();
            s2Builder.EndRule();
            commonBuilder.EndRule();
        }