         }
         
         return match
-    }
-
-
-    ///
-    ///
-    private func rightMostParagraphStyleElements(from nodes: [Node]) -> [ElementNode] {
-        return paragraphStyleElements(from: nodes) { children in
-            return children.last
-        }
-    }
-
-
-    ///
-    ///
-    private func leftMostParagraphStyleElements(from nodes: [Node]) -> [ElementNode] {
-        return paragraphStyleElements(from: nodes) { children in
-            return children.first
-        }
     }
 
 

            let paragraph = attrString.attributedSubstring(from: paragraphRange)
            let children = createNodes(fromParagraph: paragraph)

            guard !merge(left: previous, right: children) else {
                return
            }
            nodes += children


    ///
    ///
    func merge(left: [ElementNode], right: [ElementNode]) -> Bool {
        guard let (target, source) = findLowestMergeableNodes(left: left, right: right) else {
            return false
        }
