         # insert delta is know.
         selectionFoldRanges = []
         foldAtSelectionStart =
-          @displayBuffer.largestFoldContainingBufferRow(selection.start.row)
+          @displayLayer.largestFoldContainingBufferRow(selection.start.row)
         foldAtSelectionEnd =
-          @displayBuffer.largestFoldContainingBufferRow(selection.end.row)
+          @displayLayer.largestFoldContainingBufferRow(selection.end.row)
         if fold = foldAtSelectionStart ? foldAtSelectionEnd
-          selectionFoldRanges.push range = fold.getBufferRange()
+          selectionFoldRanges.push range = @displayLayer.bufferRangeForFold(fold)
           newEndRow = range.end.row + 1
           linesRange.end.row = newEndRow if newEndRow > linesRange.end.row
-          fold.destroy()
+          @displayLayer.destroyFold(fold)
 
         # If selected line range is followed by a fold, one line below on screen
         # could be multiple lines in the buffer. But at the same time, if the


        # Restore folds that existed before the lines were moved
        for rangeToRefold in rangesToRefold
          @displayBuffer.foldBufferRowRange(rangeToRefold.start.row, rangeToRefold.end.row)

        for selection in selectionsToMove
          newSelectionRanges.push(selection.translate([-insertDelta, 0]))


        # Restore folds that existed before the lines were moved
        for rangeToRefold in rangesToRefold
          @displayLayer.foldBufferRange(rangeToRefold)

        for selection in selectionsToMove
          newSelectionRanges.push(selection.translate([insertDelta, 0]))
