The JID implementation uses caches to store (computational-expensive nodeprepping results). This implementation, ConcurrentLinkedHashMap, is outdated. It should be replaced.
The author of ConcurrentLInkedHashMap has defined Caffeine to be the successor. It makes sense to switch to that.
With Caffeine, the caches now also have an expiry-after-write eviction policy, and use data-size, instead of element count, to base its capacity on. This mimics generic Openfire behavior.