     @applyExternal()
 
   CMD_stopSyncing: (data) ->
+    return
     if not data?
       return
     @sLines = data.lines if data.lines?

CollabGroupProtocol = require '../atox-collabGroupProtocol'
{Range, Point} = require 'atom'
newlineRegex: /\r\n|\n|\r/g

module.exports =
class Collab extends CollabGroupProtocol

    for change in @diffs
      @editor.getBuffer().emitter.emit 'will-change', change

    @editor.getBuffer().lines = @sLines.slice()
    @editor.getBuffer().lineEndings = @sLineEndings.slice()

    offsets = @sLines.map (line, index) =>
      {rows: 1, characters: line.length + @sLineEndings[index].length}
    @editor.getBuffer().offsetIndex.spliceArray('rows', 0, @sLines.length, offsets)

    for change in @diffs
      @editor.getBuffer().emitter.emit 'did-change', change

  applyChange: (change, skipUndo) ->
    newlineRegex = /\r\n|\n|\r/g
    spliceArray = (originalArray, start, length, insertedArray=[]) ->
      SpliceArrayChunkSize = 100000
      if insertedArray.length < SpliceArrayChunkSize
        originalArray.splice(start, length, insertedArray...)
      else
        removedValues = originalArray.splice(start, length)
        for chunkStart in [0..insertedArray.length] by SpliceArrayChunkSize
          chunkEnd = chunkStart + SpliceArrayChunkSize
          chunk = insertedArray.slice(chunkStart, chunkEnd)
          originalArray.splice(start + chunkStart, 0, chunk...)
        removedValues

    {oldRange, newRange, oldText, newText, normalizeLineEndings} = change
    oldRange.freeze() if oldRange.freeze? and typeof oldRange.freeze is 'function'
    newRange.freeze() if newRange.freeze? and typeof newRange.freeze is 'function'
    @cachedText = null

    startRow = oldRange.start.row
    endRow = oldRange.end.row
    rowCount = endRow - startRow + 1
    #oldExtent = oldRange.getExtent()
    #newExtent = newRange.getExtent()

    # Determine how to normalize the line endings of inserted text if enabled
    if normalizeLineEndings
