class ViewModel::TraversalContext

def for_references

parent)
context (since a shared reference could equally have been reached via any
keep the same shared context, but drop any tree location specific local
Obtain a semi-independent context for descending through a shared reference:
def for_references
  self.class.new(shared_context: shared_context)
end