public static bool HadExtends(TypeDecorator td)
        {
            if (IsContainer(td.typeDecotrator))
            {
                TypeDecoratorList tdl = td as TypeDecoratorList;
                if (null != tdl)
                {
                    return(HadExtends(tdl.child));
                }

                TypeDecoratorDictionary tdm = td as TypeDecoratorDictionary;
                if (null != tdl)
                {
                    return(HadExtends(tdm.value));
                }
            }

            EDecotratorType type = td.typeDecotrator;

            return(EXTEND_DECORTATORTYPE.Contains(type));
        }
 public static bool IsContainer(EDecotratorType type)
 {
     return(type == EDecotratorType.List || type == EDecotratorType.Dictionary);
 }