On checkin of N, C and all its descendent items, down to the leaves of the subtree, will be copied to the version storage as a child subtree of VN. The copy of C and its subtree will not have its own version history but will be part of the state preserved in VN. C itself need not be versionable.
On restore of VN, the copy of C and its subtree stored will be restored as well, replacing the current C and its subtree in the workspace.
On checkin of N, P will be copied to the version storage as a child of VN. This copy of P is part of the state preserved in VN.
On restore of VN, the copy of P stored as its child will be restored as well, replacing the current P in the workspace.