Walk data and resolve any replacements before storing cache

Also restores performance