Description
There are multiple classes here; but it seems the most important one is CacheLIRS, where the other ones are related to that.
CacheLIRS implements the Guava Cache API.
In a perfect world, we would implement new variants which do not rely on that API but are "sufficiently" compatible. Unfortunately, that would mean adding own APIs that replicate the Guava API. Furthermore, due to the way the caches work, there are quite a few support API (Loader, Weicher, Stats etc) that would need to be added as well.
The classes are currently used in three other parts of Oak, and hopefully not anywhere else. The best way forward seems to me to leave them untouched, but stop exporting the packages. Other users inside Oak would need to embed copies of the ~5 classes for now. cache-removal.diff demonstrates how that would work.