@Override
  public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) {
    registrar.registerReferenceProvider(psiElement(PropertyValueImpl.class), new PsiReferenceProvider() {
      @Override
      public boolean acceptsTarget(@NotNull PsiElement target) {
        return false; // web references do not point to any real PsiElement
      }

      @Override
      public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) {
        if (!(element instanceof PropertyValueImpl propertyValue)) return PsiReference.EMPTY_ARRAY;
        if (!element.textContains(':')) return PsiReference.EMPTY_ARRAY;

        String textValue = propertyValue.getText();

        if (GlobalPathReferenceProvider.isWebReferenceUrl(textValue)) {
          return new PsiReference[]{new WebReference(element, textValue)};
        }

        return PsiReference.EMPTY_ARRAY;
      }
    }, PsiReferenceRegistrar.LOWER_PRIORITY);
  }
@Override
  public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar)