void createHighlightVisitorsFor(@NotNull Consumer<? super HighlightVisitor[]> consumer) {
    // first ever queried HighlightVisitor can be used as is, but all further HighlightVisitors queried while the previous HighlightVisitor haven't finished, should be cloned to avoid reentrancy issues
    HighlightVisitor[] filtered = myHighlightVisitorProducer.get();
    consumer.consume(filtered);
  }
void createHighlightVisitorsFor(@NotNull Consumer<? super HighlightVisitor[]> consumer)