Details
Description
Each entry in MemoryDiffCache is keyed with (path, fromRev, toRev) for the list of modified children at path. A diff calcualted by DocumentNodeStore.diffImpl at '/' (passively via loader) or JournalEntry.applyTo (actively) fill each path for which there are modified children (including the hierarchy)
But, if an observer calls compareWithBaseState on a unmodified sub-tree, the observer will still go down to diffImpl although cached parent entry can be used to answer the query.