 
     @disposables = new CompositeDisposable
     @emitter = new Emitter
+    @visibleHighlights = {}
     @characterWidthsByScope = {}
     @rangesByDecorationId = {}
     @lineDecorationsByScreenRow = {}

        if decoration.isType('line') or decoration.isType('gutter')
          @addToLineDecorationCaches(decoration, range)
        else if decoration.isType('highlight')
          visibleHighlights[decoration.id] = @updateHighlightState(decoration)

    for tileId, tileState of @state.content.tiles
      for id, highlight of tileState.highlights
        unless visibleHighlights[id]
          delete tileState.highlights[id]

    return


    @lineDecorationsByScreenRow = {}
    @lineNumberDecorationsByScreenRow = {}
    @customGutterDecorationsByGutterNameAndScreenRow = {}
    @visibleHighlights = {}

    return unless 0 <= @startRow <= @endRow <= Infinity

    for markerId, decorations of @model.decorationsForScreenRowRange(@startRow, @endRow - 1)
