public static bool TryGet <T>(this UIItemContainer lookHere,
                                      SearchCriteria criteria, out T matchingItem) where T : IUIItem
        {
            if (lookHere.Exists <T>(criteria))
            {
                matchingItem = lookHere.Get <T>(criteria);
                return(true);
            }

            matchingItem = default(T);
            return(false);
        }