After Removing an Origin Relationship

If you delete a delete-propagating origin relationship, or if Repository automatically removes one after deleting its attendant origin object version, delete propagation can occur. Repository considers performing a propagated deletion on each of the relationship’s destination versions. (That is, Repository considers performing a propagated deletion on each object version from the TargetVersions collection of the deleted origin relationship.)

Repository considers deleting the target versions in reverse order of their creation (not in the reverse order of their inclusion in the TargetVersions collection). In effect, Repository works backward through the version graph, attempting to delete leaf nodes before attempting to delete their predecessors.

Repository performs a propagated deletion on an object version only if the object version satisfies the requirements for object-version deletion. If the object version does not satisfy the requirements, Repository does not perform the propagated deletion on that object version.

Even if Repository encounters a candidate for propagated deletion that does not satisfy the requirements for object-version deletion, it does not stop considering the other candidates. Thus, the entire delete propagation operation might result in the deletion of some of the TargetVersions, but not others.

For More Information   The VersionGraph; Requirements for Object-Version Deletion