class ViewModel::AccessControl::Tree::Node

def editable_check(traversal_env)

def editable_check(traversal_env)
  view                = traversal_env.view
  deserialize_context = traversal_env.deserialize_context
  validate_root!(view, deserialize_context)
  if deserialize_context.root?
    save_root_editability!(traversal_env)
    super
  else
    root_editability = fetch_descendent_editability(deserialize_context.nearest_root_viewmodel)
    root_editability.merge { super }
  end
end