Rewrite hierarchy:
The rewrite hierarchy is not fixed. It may be the case that a user would prefer a particular rewrite for one project and a different one for another project. In this case the sequence of rewrites that are attempted at runtime can be determined by configuration data that can be specified by users prior to the execution of the data exchange operation. Note down that rewrites enable a direct interface between pairs of CAD systems when this is of advantage, even though the architecture itself is a star one. In order to provide such as direct interface, all we require is to add a 'source target CAD pair' field to the rewrite. While the import flow mechanism is faced with the need to select a rewrite, it can try to first identify the presence of a relevant field of this sort, and invoke the corresponding rewrite before the invocation of other rewrites. Such a capability might be useful for optimization purposes or for unique requirements of a particular project.