     if markerPatch = @buildPatch({valid, range: newMarkerRange})
       patch.addMarkerPatch(markerPatch)
 
-  # Private:
   buildPatch: (newParams) ->
     oldParams = {}
     for name, value of newParams

    Object.freeze(@properties)
    @updateIntervals()

  # Private: Used by {Serializable} during serialization.
  serializeParams: ->
    range = @range.serialize()
    {@id, range, @tailed, @reversed, @valid, @invalidate, @persistent, @properties}

  # Private: Used by {Serializable} during deserialization.
  deserializeParams: (state) ->
    state.range = Range.deserialize(state.range)
    state

      else
        isEqual(@properties[key], value)

  toParams: (omitId) ->
    params = {@range, @reversed, @tailed, @invalidate, @persistent, @properties}
    params.id = @id unless omitId
    params

  update: (params) ->
    if patch = @buildPatch(params)
      @manager.recordMarkerPatch(patch)
