PIStack - Property handle stack
A property handle stack allows defining a series of related property handles. A Property handle stack can be defined for a property handle and allows activating a new and saving the current handle using the Push() function and reactivating the previous handle using the Pop() function. Thus, it becomes possible, e.g. defining a sequence of subsequent selections with the possibility of going back to the previous level.
Handles on the stack can be registered or set without increasing the use count (internal stack). When using the stack as a registered stack, property handles might be closed but will be deleted only, when not being stored on the stack anymore. Property handles on an internal stack are deleted, when the original property handle has been deleted, in which case the property handle stored on the stack will be closed.