@NotNull
  public List<BreakpointWithHighlighter> findBreakpoints(
      @NotNull Document document, @NotNull TextRange textRange) {
    ApplicationManager.getApplication().assertIsDispatchThread();
    List<BreakpointWithHighlighter> result = new ArrayList<BreakpointWithHighlighter>();
    int startLine = document.getLineNumber(textRange.getStartOffset());
    int endLine = document.getLineNumber(textRange.getEndOffset()) + 1;
    TextRange lineRange = new TextRange(startLine, endLine);
    for (final Breakpoint breakpoint : getBreakpoints()) {
      if (breakpoint instanceof BreakpointWithHighlighter
          && lineRange.contains(((BreakpointWithHighlighter) breakpoint).getLineIndex())) {
        result.add((BreakpointWithHighlighter) breakpoint);
      }
    }

    return result;
  }