Closing subordinated property handles
Property handles are organized in hierarchies. Subordinated property handles are created in two different ways. One is creating child property handles, i.e. property handles that have got another property handle as parent. The other way is creating cursor copies ( Property ::cursorCopy() ). Subordinated property handles do not depend on the parent property handle, but on the access node referenced in the parent property handle. Thus, closing a property handle does not necessarily close all property handles opened as subordinated property handles for this property handle.
Child property handles belong to (are owned by) the parent access node (cursor object). When destroying an access node, all child access nodes will be destroyed, i.e. all property handles referring to those access nodes are closed implicitly.
For maintaining access node copies properly in an access node hierarchy, copies for access nodes require a reference to their origin. Hence, closing an access node will also destroy all copies, and thus cloasing all property handles referring to those access nodes.