When you create a Repository object (with the CreateObject method), you can supply an object identifier or let the Repository assign one automatically. In most cases, let the Repository assign one. You should explicitly assign an object identifier in only one case: when you are inserting into the Repository a replica of an object represented in some other Repository database. This ensures that the newly created object's object identifier matches the object identifier used for the object that already exists in the other Repository database. This case applies whenever you insert a new tool information model into the Repository.
For More Information Information Model Creation, Repository Identifiers