When you have two set of classes that mirror each others structures. Examples occur all over the place in code, typically when you have a catalog of items, and you then have instances of those items used in specific situations. The two class hierarchies are typically Homomorphic, that is they share the same structure. For example, I have a blueprint for a widget that is made up of a gadget connected to a sprocket. I then make one. I now have a real widget, and in that widget my actual gadget is connected to a real sprocket. Not only are the parts mirrored, but the relationships are as well. I could say this a bit more formally: Suppose I have a hierarchy, C, of two classes x and y that have a function, f, such that f(x)=y. Now another parallel hierarchy, C', with two classes x' and y' is Homomorphic if it has a function, f', such that f'(x')=y'. I have a sneaking suspicion that this could all be said very elegantly in CategoryTheory, but I'm not sure how to formulate it. DanielPoon ---- For considerably more detail on this topic, move over to ParallelInheritanceHierarchies.