public static T GetFirstOfType <T>(this VisualElement self) where T : class
        {
            T t = self as T;
            T result;

            if (t != null)
            {
                result = t;
            }
            else
            {
                result = self.GetFirstAncestorOfType <T>();
            }
            return(result);
        }