public object GetIcon(string name, Color tint = default(Color))
        {
            var item = new IconCacheItem()
            {
                Name      = name,
                TintColor = tint
            };

            if (IconsCache.ContainsKey(item) && ((Equals(IconsCache[item], null)) || IconsCache[item].Equals(null)))
            {
                IconsCache.Remove(item);
            }
            if (!IconsCache.ContainsKey(item))
            {
                IconsCache.Add(item, ConstructIcon(name, tint));
            }
            return(IconsCache[item]);
        }
 public bool Equals(IconCacheItem other)
 {
     return(string.Equals(Name, other.Name) && TintColor.Equals(other.TintColor));
 }