The workbench stores guided rules witht he RDRL file extension (although the content is plain DRL).
When the User loads a RDRL file we parse the DRL to generate the object model used by the UI.
This extracts Type and Field information when constructing the UI object model.
The PackageDataModelOracle (passed to the unmarshal method) contains meta-data about Types and Fields from which the unmarshalling determines the data-type added to the UI object model.
The UI object model (and PackageDataModelOracle) are used at runtime to assist with determining the type of Widget shown in the UI.
The same class is responsible for converting the UI object model to DRL when the User saves a Guided Rule.
This is the top-level description of what happens.. it is a rabbit hole that you are free to fall into :-)
With kind regards,
Mike