What does the IDfSysObject.checkout() method do?

A.
only places a lock on an object from the repository
B.
places a lock on an object from the repository and downloads the content
C.
places a database row level lock on the rows representing the object
D.
places a lock on an object from the repository and sets its r_lock_machine attribute