private static bool TryToRemoveSpriteFromAnyAtlasReference(Sprite targetSprite)
        {
            bool anyReferenceChanged = false;

            if (AtlasCacheUtility.TryGetAtlasesForSprite(targetSprite,
                                                         out List <SpriteAtlas> spriteAtlases))
            {
                for (int i = 0; i < spriteAtlases.Count; i++)
                {
                    SpriteAtlas spriteAtlas = spriteAtlases[i];
                    if (!AtlasCacheUtility.TryRemoveSpriteFromAtlas(targetSprite, spriteAtlas))
                    {
                        anyReferenceChanged = true;
                    }
                }
            }

            return(anyReferenceChanged);
        }