Retains a reference to the object with an optional tag used for reference-tracking.
Used for tracking collection references.
Kernel extensions should not use this function. It is for use by OSCollection and subclasses to track inclusion in collections.
If you need to maintain a reference to an object outside the context in which you received it, you should always retain it immediately.