     while view = @violationViews.shift()
       view.remove()
 
+  getValidViolationViews: ->
+    @violationViews.filter (violationView) ->
+      violationView.isValid
+
   updateGutterMarkers: ->
     return unless @gutterView.isVisible()
 


    return if @violationViews.length == 0

    for violationView in @violationViews
      line = violationView.getCurrentBufferStartPosition().row
      klass = "lint-#{violationView.violation.severity}"
      @gutterView.addClassToLine(line, klass)

    currentCursorPosition = @editor.getCursor().getScreenPosition()

    # OPTIMIZE: Consider using binary search.
    neighborViolationView = _[enumerationMethod] @getValidViolationViews(), (violationView) ->
      violationPosition = violationView.screenStartPosition
      violationPosition[comparingMethod](currentCursorPosition)

