@Override
  public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
    if (holder.isBatchMode()) return;

    if (WebReference.isWebReferenceWorthy(element)) {
      // asking for references on every element is too expensive, only ask for it on potential external reference hosts
      // not only slow, but also creates a lot of cached values and SoftReference instances in all elements
      for (var reference : PsiSymbolReferenceService.getService().getReferences(element, PsiHighlightedReference.class)) {
        String message = reference.highlightMessage();
        AnnotationBuilder annotationBuilder = message == null ? holder.newSilentAnnotation(reference.highlightSeverity())
                                                              : holder.newAnnotation(reference.highlightSeverity(), message);
        reference.highlightReference(annotationBuilder.range(reference.getAbsoluteRange())).create();
      }

      annotateContributedReferences(element, holder);
    }
  }
@Override
  public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder)