It is only safe to call this method if there are no current resource consumers and if this method has not
yet been called. Typically this occurs at one of two times:
During a resource load when the resource is transformed or transcoded before any consumer have
ever had access to this resource
After all consumers have released this resource and it has been evicted from the cache
For most users of this class, the only time this method should ever be called is during transformations or
transcoders, the framework will call this method when all consumers have released this resource and it has
been evicted from the cache.