@Override
  protected void reportXmlParseError(@NotNull VirtualFile file, @NotNull SAXParseException exception) {
    Project project = myPsiManager.getProject();
    String basePath = project.getBasePath();
    String filePath = file.getPresentableUrl();
    if (basePath != null) {
      try {
        filePath = Path.of(basePath).relativize(Path.of(file.getPath())).toString();
      }
      catch (IllegalArgumentException ignored) {
      }
    }
    Runnable openAnnotationXml =
      () -> new OpenFileDescriptor(project, file, exception.getLineNumber() - 1, exception.getColumnNumber() - 1).navigate(true);
    EXTERNAL_ANNOTATIONS_MESSAGES.createNotification(
        JavaBundle.message("external.annotations.problem.title"),
        JavaBundle.message("external.annotations.problem.parse.error", filePath, exception.getMessage()),
        NotificationType.WARNING)
      .addAction(NotificationAction.createSimple(JavaBundle.message("external.annotations.open.file"), openAnnotationXml))
      .notify(project);
  }
@Override
  protected void reportXmlParseError(@NotNull VirtualFile file, @NotNull SAXParseException exception)