A custom class often overrides the following functions:
virtual Acad::ErrorStatus
audit(AcDbAuditInfo* pAuditInfo);
// Commonly useful, as this happens at a point where a new
// object state is being committed.
//
virtual Acad::ErrorStatus subClose();
// The next two functions apply to container objects.
//
virtual Acad::ErrorStatus
deepClone(AcDbObject* pOwnerObject,
AcDbObject*& pClonedObject,
AcDbIdMapping& idMap,
Adesk::Boolean isPrimary = true) const;
virtual Acad::ErrorStatus
wblockClone(AcRxObject* pOwnerObject,
AcDbObject*& pClonedObject,
AcDbIdMapping& idMap,
Adesk::Boolean isPrimary = true) const;