     private func paragraphStyleElements(from nodes: [Node], childPicker: (([Node]) -> Node?)) -> [ElementNode] {
         var elements = [ElementNode]()
         var nextElement = childPicker(nodes) as? ElementNode
-
 
         while let currentElement = nextElement {
             guard currentElement.isBlockLevelElement() else {

    }


    /// Finds the Deepest node that can be merged "Right to Left", and returns the Left / Right matching touple, if any.
    ///
    private func findLowestMergeableNodes(left: [ElementNode], right: [ElementNode]) -> (ElementNode, ElementNode)? {
        var currentIndex = 0
        var match: (ElementNode, ElementNode)?

        while currentIndex < left.count && currentIndex < right.count {
            let left = left[currentIndex]

    /// Attempts to merge the Right array of Element Nodes (Paragraph Level) into the Left array of Nodes.
    ///
    func merge(left: [ElementNode], right: [ElementNode]) -> Bool {
        let mergeable = findMergeableNodes(left: left, right: right)

        guard let target = mergeable.last?.left, let source = mergeable.last?.right else {
            return false
        }

