@Override
  public TodoItem @NotNull [] findTodoItemsLight(@NotNull PsiFile file, int startOffset, int endOffset) {
    Collection<TodoItem> occurrences = new ArrayList<>();
    TodoItemCreator todoItemCreator = new TodoItemCreator();
    for (IndexPatternProvider provider : IndexPatternProvider.EP_NAME.getExtensionList()) {
      LightIndexPatternSearch.SEARCH.createQuery(
        new IndexPatternSearch.SearchParameters(file, provider, TodoConfiguration.getInstance().isMultiLine())
      ).forEach(occurrence -> {
        if (occurrence.getTextRange().intersects(startOffset, endOffset)) {
          occurrences.add(todoItemCreator.createTodo(occurrence));
        }
      });
    }
    return occurrences.isEmpty() ? TodoItem.EMPTY_ARRAY : occurrences.toArray(TodoItem.EMPTY_ARRAY);
  }
@Override
  public TodoItem @NotNull [] findTodoItemsLight(@NotNull PsiFile file, int startOffset, int endOffset)