53e545aa3f
- If we have some value `X` in the cache, and we put `X` a second time into the same location, `X` shouldn't be cleaned up because it wasn't actually removed from the cache. - With this feature, it's necessary to implement `put` in terms of `backingMap.compute`, because we need to compare the old and the new value atomically, and based on that, decide whether to create a new soft reference. ^KT-61222