Bother, what a mess. maxInMemory is only processed during the constructor, and setPropertiesParam. It is then used to set the initial LRU setting in CacheLineTable.
However, maxSize, which is supposed to limit the total size, has no bearing whatsoever. Then, setMaxSize() sets a new LRU, but instead of changing the maxInMemory value, changes the maxSize value. Fixing this is not hard, but it means changing the meaning of setMaxSize(), which could affect external callers. I currently see only one in-tree call, in UtilCacheEvents.
