public override bool Equals(UxmlTypeRestriction other)
        {
            UxmlEnumeration otherE = other as UxmlEnumeration;

            if (otherE == null)
            {
                return(false);
            }

            return(values.All(otherE.values.Contains) && values.Count == otherE.values.Count);
        }
        public UxmlEnumAttributeDescription()
        {
            if (!typeof(T).IsEnum)
            {
                throw new ArgumentException("T must be an enumerated type");
            }

            type          = "string";
            typeNamespace = k_XmlSchemaNamespace;
            defaultValue  = new T();

            UxmlEnumeration enumRestriction = new UxmlEnumeration();

            foreach (T item in Enum.GetValues(typeof(T)))
            {
                enumRestriction.values.Add(item.ToString());
            }
            restriction = enumRestriction;
        }