ElementHolder<E, K, V> CacheHolder<E, K, V> MemoryHolder<E, K, V> NodeCacheHolder<K, V> -> CacheHolder<NodeValue<K, V>, K, V> LeafCacheHolder>K, V> -> CacheHolder<LeafValue<K, V>, K, V> ValueCacheHolder<K, V> -> CacheHolder<SingleValue<V>, K, V> NodeMemoryHolder<K, V> -> MemoryHolder<NodeValue<K, V>, K, V> LeafMemoryHolder<K, V> -> MemoryHolder<LeafValue<K, V>, K, V> ValueMemoryHolder<K, V> -> MemoryHolder<SingleValue<V>, K, V> MultipleValueCacheHolder<K, V> -> CacheHolder<BTreeValue<V>, K, V> MultipleValueMemoryHolder<K, V> -> MemoryHolder<BTreeValue<V>, K, V>