The first part of this section described basic use of the deepCloneObjects() function. This section describes the behind-the-scenes details of deep cloning, so you can override the deepClone() and wblockClone() functions for your own custom objects and entities.
When overriding these functions for custom objects, you may wish to clone other objects with the custom object. These are referred to as dependent references. The custom object's wblockClone() function may call wblockClone() on the dependent reference, but must not call deepClone(). Likewise, the custom object's deepClone() function may call deepClone() on the dependent reference, but must not call wblockClone(). When a cloning request is forwarded in this fashion, you must also forward the AcDbIdMapping instance that was received in the call to the custom object's cloning function to the dependent object's cloning function. Never create a new instance of AcDbIdMapping to pass to the cloning function of the dependent reference.