We use two CachingEntityRevisionLookup nested into each other: the outer-most
uses a HashBagOStuff to implement in-process caching, the second level uses

It is odd to have two different decorator instances for caching around th EntityRevisionLookup. I suggest to have only a single decorator for caching, which writes to a caching interface. Then this caching interface can have an implementation what uses multiple caches, and perhaps have a decorator on that level.


Jeroen De Dauw - http://www.bn2vs.com
Software craftsmanship advocate
Evil software architect at Wikimedia Germany