       @children.splice(childIndex, 1, splitChildren...)
       childIndex += splitChildren.indexOf(spliceChild)
       rightMergeIndex += splitChildren.length - 1
-
-    if leftNeighbor = @children[leftMergeIndex - 1]
-      leftNeighbor.merge(@children[leftMergeIndex])
-      if isEmpty(@children[leftMergeIndex])
-        @children[leftMergeIndex].assign(leftNeighbor)
-        @children.splice(leftMergeIndex - 1, 1)
-        childIndex--
-        rightMergeIndex--
 
     if rightNeighbor = @children[rightMergeIndex + 1]
       @children[rightMergeIndex].merge(rightNeighbor)


    else if @content instanceof Boundary
      splitNodes = [
        new Leaf().assign(this),
        this
      ]
      @inputExtent = newInputExtent

      rightNeighbor.outputExtent = rightNeighbor.outputExtent.traversalFrom(childMerge.outputExtent)
      childMerge

  hasBoundary: (minInputPosition, maxInputPosition=Point.infinity()) ->
    inputEnd = Point.zero()
    for child in @children
