Is it necessary to prohibit an object of type LOCK_TYPE, or that has a subobject of type LOCK_TYPE at any level of component selection, to be a target in a pointer assignment statement in which the pointer is CLASS ( * ) -- and similarly for EVENT_TYPE?