docs: public static @NotNull String validName(@NotNull String value) {
  
      // convert to lowercase
      String text = value.toLowerCase();
  
      // replace some special chars first
      text = StringUtils.replace(text, "ä", "ae");
      text = StringUtils.replace(text, "ö", "oe");
      text = StringUtils.replace(text, "ü", "ue");
      text = StringUtils.replace(text, "ß", "ss");
  
      // replace all invalid chars
      StringBuilder sb = new StringBuilder(text);
      for (int i = 0; i < sb.length(); i++) {
        char ch = sb.charAt(i);
        if (!((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || (ch == '_'))) {
          ch = '-';
          sb.setCharAt(i, ch);
        }
      }
      return sb.toString();
    }