Mode that permits existing objects to be reused and new objects to
Mode that demands a new object be created and no existing object
Default mode; existing objects are reused, new objects are not created
Mode that requires that objects should already exist; new objects cannot
The core operation: answer a new object constructed according to the
object description hanging from
root, using the assembler
a for any sub-objects.
(Model) open( this, root, mode ), unless
the result cannot be or is not a Model, in which case throw an exception.