This function returns a duplicate pointer to an existing
ObjectObject. It also increments the Object's RefCountRefCount attribute to
keep track of how many pointers have been issued.
Note that this function is NOT equivalent to an assignment
statement, as in general the two pointers will not have the same
value.