props.add(factory.create(JcrLexicon.FROZEN_PRIMARY_TYPE, primaryTypeName));
props.add(factory.create(JcrLexicon.FROZEN_MIXIN_TYPES, mixinTypeNames));
props.add(factory.create(JcrLexicon.FROZEN_UUID, node.getIdentifier()));
props.add(factory.create(JcrLexicon.UUID, key));
addVersionedPropertiesFor(node, forceCopy, props);
MutableCachedNode newCopy = parentInVersionHistory.createChild(versionHistoryCache, key, node.name(), props);
// Now process the children of the versionable node ...
NodeKey parentKey = node.key();
for (ChildReference childRef : node.node().getChildReferences(nodeCache)) {
AbstractJcrNode child = session.node(childRef.getKey(), null, parentKey);