       @tokenizeInBackground()
 
     tokenizedLines
-
-  buildPlaceholderTokenizedLinesForRows: (startRow, endRow) ->
-    new Array(endRow - startRow + 1)
 
   buildTokenizedLineForRow: (row, ruleStack, openScopes) ->
     @buildTokenizedLineForRowWithText(row, @buffer.lineForRow(row), ruleStack, openScopes)

    @updateInvalidRows(start, end, delta)
    previousEndStack = @stackForRow(end) # used in spill detection below
    if @largeFileMode or @grammar.name is 'Null Grammar'
      newTokenizedLines = @buildPlaceholderTokenizedLinesForRows(start, end + delta)
    else
      newTokenizedLines = @buildTokenizedLinesForRows(start, end + delta, @stackForRow(start - 1), @openScopesForRow(start))
    _.spliceWithArray(@tokenizedLines, start, end - start + 1, newTokenizedLines)

  tokenizeNextChunk: ->
    # Short circuit null grammar which can just use the placeholder tokens
    if @grammar.name is 'Null Grammar' and @firstInvalidRow()?
      @tokenizedLines = new Array(@buffer.getLineCount())
      @invalidRows = []
      @markTokenizationComplete()
      return
