             let rightSibling = pushUp(siblingOrDescendantAtRightSideOf: lastNodeIndex, evaluatedBy: evaluation, bailIf: bailEvaluation)
             let leftSibling = pushUp(siblingOrDescendantAtLeftSideOf: firstNodeIndex, evaluatedBy: evaluation, bailIf: bailEvaluation)
 
-            var childrenToWrap = newChildren
+            var childrenToWrap = selectedChildren
             var result: ElementNode?
             
             if let sibling = rightSibling {

                //
                return
            }
            
            let firstChild = childNodesAndRanges[0].child
            let firstChildIntersection = childNodesAndRanges[0].intersection
            
            if let firstEditableChild = firstChild as? EditableNode, !NSEqualRanges(firstChild.range(), firstChildIntersection) {
                firstEditableChild.split(forRange: firstChildIntersection)
            }

        /// - Returns: the newly created `ElementNode`.
        ///
        @discardableResult
        func wrap(children selectedChildren: [Node], inElement elementDescriptor: ElementNodeDescriptor) -> ElementNode {

            guard selectedChildren.count > 0 else {
                assertionFailure("Avoid calling this method with no nodes.")
                return ElementNode(descriptor: elementDescriptor, editContext: editContext)
            }

            guard let firstNodeIndex = children.index(of: selectedChildren[0]) else {
                fatalError("A node's parent should contain the node. Review the child/parent updating logic.")
            }
            
            guard let lastNodeIndex = children.index(of: selectedChildren[selectedChildren.count - 1]) else {
                fatalError("A node's parent should contain the node. Review the child/parent updating logic.")
            }
            
