When you create a Repository object, you can supply an object identifier or let Repository assign one automatically. In most cases, let Repository assign one.
The exception is when you are inserting a replica of an object represented in some other Repository database into the Repository. In such cases, explicitly assign an object identifier to ensure that the newly created object's object identifier matches the object identifier used for the existing object in the other Repository database.
When you create an information model, you create a number of Repository objects to represent the classes, interfaces, collection types, properties, and relationship types of that model. You can explicitly assign an object identifier for each such object you create. If you explicitly assign object identifiers for your definition objects, you must ensure that the object identifiers are unique across all Repositories. The recommended way to guarantee such uniqueness is as follows: