Aside: Creation
Order
In general, the order of creation of objects is "preorder". A composite
is created before its property values. Within a composite component,
the objects that are its properties are created in a documented order
--
the order that the properties appear in its property table. The
creation order is best described recursively with pseudo-code:
Object preOrderCreate(Type type) {
Object obj =
createNewInstance(type);
foreach property of
type {
obj.property = preOrderCreate(type of property);
}
return obj;
}
The creation order has implications for the use of global variables.
The document describing global variables
also contains good example of creation order.