Setting a whole subtree temporarily read-only based on an attribute?