* cloned nodes
*/
public static void cloneNodes(List<JcrNode> nodes, TargetRootNodeProvider targetRootNodeProvider,
ParentLimiter parentLimiter) {
if (nodes != null && !nodes.isEmpty()) {
JcrNode firstTargetRoot = targetRootNodeProvider.getTargetRootNode(nodes.iterator().next());
String xmlns = createXMLNS(firstTargetRoot.getSession());
Map<String, String> uuidMap = new HashMap<String, String>();
nodes = filterRedundantNodes(nodes);
List<NodePair> processedNodes = new ArrayList<NodePair>();
for (JcrNode node : nodes) {
JcrNode targetRoot = targetRootNodeProvider.getTargetRootNode(node);
createNode(node, targetRoot, xmlns, uuidMap, processedNodes, parentLimiter);
}
assignProperties(processedNodes, uuidMap);
}