I guess it boils down to this: shouldn't it find the required primary type in the `pendingTypes`? If it would, then `found` would be set to true. And the only reason it's not finding it is because the existing logic is validating the first node type before it ever reaches the second. I'm suggesting that we should add all of the node types to the `pendingTypes` map before we validate any of the types; basically, [this line](https://github.com/ModeShape/modeshape/blob/3.1.x/modeshape-jcr/src/main/java/org/modeshape/jcr/RepositoryNodeTypeManager.java#L500) should be moved outside of the loop and into a second loop.