private IEnumerable <ComponentGeneratorOutput> CreateCsOutput(string selector, AutoElementData current,
                                                                      IComponentFileCreator parentClassCreator = null)
        {
            RunCustomAttributesAppends(current, parentClassCreator);

            if (IsBasicElement(current))
            {
                return(new List <ComponentGeneratorOutput>());
            }

            string keyWord = SelectorUtils.GetKeyWordFromSelector(selector);

            AutoElementData[] children         = current.InnerChildrens as AutoElementData[] ?? current.InnerChildrens.ToArray();
            AutoElementData[] filteredChildren = children
                                                 .Where(elm => !IsAppenderElement(elm))
                                                 .ToArray();

            if (IsAppenderElement(current))
            {
                return(GenerateAppenderOutputs(current, parentClassCreator, keyWord, filteredChildren));
            }

            return(GenerateFileCreatorOutputs(selector, keyWord, children, filteredChildren));
        }
        private bool IsAppenderElement(AutoElementData childData)
        {
            string keyWord = SelectorUtils.GetKeyWordFromSelector(childData.Selector);

            return(_classAppenderContainer.ContainsAppender(keyWord));
        }