@Override
  protected void registerProblem(@NotNull PsiElement node,
                                 @NotNull TextRange range,
                                 @NotNull String message,
                                 boolean asError,
                                 LocalQuickFix @NotNull ... fixes) {
    if (range.isEmpty()) {
      return;
    }

    HighlightSeverity severity = asError ? HighlightSeverity.ERROR : HighlightSeverity.WARNING;
    if (fixes.length > 0) {
      AnnotationBuilder annotationBuilder = getHolder().newAnnotation(severity, message).range(range);
      for (LocalQuickFix fix: fixes) {
        if (fix != null) {
          annotationBuilder = annotationBuilder.withFix(createIntention(node, message, fix));
        }
      }
      annotationBuilder.create();
    }
    else {
      getHolder().newAnnotation(severity, message).range(range).create();
    }
  }
@Override
  protected void registerProblem(@NotNull PsiElement node,
                                 @NotNull TextRange range,
                                 @NotNull String message,
                                 boolean asError,
                                 LocalQuickFix @NotNull ... fixes)