@Override
  public @Nullable Presentation getPresentation(@NotNull ActionContext actionCtx) {
    PsiFile file = actionCtx.file();
    if (!BaseIntentionAction.canModify(file)) return null;
    List<NumberConverter> converters = getConverters(file);
    if (converters.isEmpty()) return null;
    NumberConversionContext context = getContext(actionCtx);
    if (context == null) return null;
    Number number = context.myNumber;
    String text = context.myText;
    NumberConverter singleConverter = null;
    for (NumberConverter converter : converters) {
      String convertedText = converter.getConvertedText(text, number);
      if (convertedText != null) {
        if (singleConverter != null) {
          return Presentation.of(LangBundle.message("intention.name.convert.number.to"));
        }
        singleConverter = converter;
      }
    }
    if (singleConverter == null) return null;
    String convertedText = singleConverter.getConvertedText(text, number);
    return Presentation.of(LangBundle.message("intention.name.convert.number.to.with.text", singleConverter, convertedText));
  }
@Override
  public @Nullable Presentation getPresentation(@NotNull ActionContext actionCtx)