code: function (oNode, oSubtreeHandle) {
  			var oSubtree = oSubtreeHandle._getSubtree();
  
  			if (oSubtreeHandle) {
  				// subtree is flat
  				if (Array.isArray(oSubtree)) {
  					if (oSubtreeHandle._oSubtreeRoot) {
  						// jump to a certain position in the flat structure and map the nodes
  						fnTraverseFlatSubtree(oSubtree, oSubtreeHandle._oSubtreeRoot.serverIndex, oSubtreeHandle._oSubtreeRoot, oSubtreeHandle._oSubtreeRoot.originalLevel || 0, oNode.level + 1);
  					} else {
  						// newly added nodes
  						fnTraverseFlatSubtree(oSubtree, null, null, 0, oNode.level + 1);
  					}
  
  				} else {
  					// subtree is deep
  					oSubtreeHandle._oSubtreeRoot.level = oNode.level + 1;
  					fnTraverseDeepSubtree(oSubtreeHandle._oSubtreeRoot, false, oSubtreeHandle._oNewParentNode, -1, oSubtreeHandle._oSubtreeRoot);
  				}
  			}
  		}
docs: Traverses a re-inserted or newly added subtree.
  This can be a combination of flat and deep trees.
  
  Decides if the traversal has to branche over to a flat or a deep part of the tree.
  
  @param {object} oNode the parent node
  @param {object} the subtree handle, inside there is either a deep or a flat tree stored