This diagram shows the relationships of ICCVersion to other CAL objects.
For example, you can see that the ICCVersion interface inherits from the ICCVOBObject interface (through ICCFile). Having an ICCVersion object pointer you can check out the version, then, with the ICCCheckedOutFile object pointer returned, you can cancel the checkout with ICCVersion's UnCheckOut property. From an ICCVersion object pointer, you can also get branches sprouting from that version using the SubBranches property, get to each branch using Item, and get to that branches latest version with LatestVersion.
The legend explains the arrows.