@Override
  public @Nullable Presentation getPresentation(@NotNull ActionContext context) {
    if (myAnnotationName != null) {
      return Presentation.of("@" + myAnnotationName);
    }
    PsiModifierListOwner listOwner = AddAnnotationPsiFix.getContainer(context.file(), context.offset(), true);
    if (listOwner != null) {
      final ExternalAnnotationsManager externalAnnotationsManager = ExternalAnnotationsManager.getInstance(context.project());
      final PsiAnnotation[] annotations = externalAnnotationsManager.findExternalAnnotations(listOwner);
      if (annotations != null && annotations.length > 0) {
        String message;
        if (annotations.length == 1) {
          message = JavaBundle.message("deannotate.intention.action.text", "@" + annotations[0].getQualifiedName());
        } else {
          message = JavaBundle.message("deannotate.intention.action.several.text");
        }
        final List<PsiFile> files = externalAnnotationsManager.findExternalAnnotationsFiles(listOwner);
        if (files == null || files.isEmpty()) return null;
        final VirtualFile virtualFile = files.get(0).getVirtualFile();
        if (virtualFile != null && (virtualFile.isWritable() || virtualFile.isInLocalFileSystem())) {
          return Presentation.of(message).withPriority(PriorityAction.Priority.LOW);
        }
      }
    }
    return null;
  }
@Override
  public @Nullable Presentation getPresentation(@NotNull ActionContext context)