docs: private void verifyApplicationName(String name) {
      if (name == null) {
        throw new IllegalArgumentException("Application name cannot be null");
      }
      if (name.isEmpty()) {
        throw new IllegalArgumentException("Application name length must be > 0");
      }
      String reason = null;
      char[] chars = name.toCharArray();
      char c;
      for (int i = 0; i < chars.length; i++) {
        c = chars[i];
        if (c == 0) {
          reason = "null character not allowed @" + i;
          break;
        } else if (c == '/' || c == '.' || c == ':') {
          reason = "invalid character '" + c + "'";
          break;
        } else if (c > '\u0000' && c <= '\u001f' || c >= '\u007f' && c <= '\u009F'
            || c >= '\ud800' && c <= '\uf8ff' || c >= '\ufff0' && c <= '\uffff') {
          reason = "invalid character @" + i;
          break;
        }
      }
      if (reason != null) {
        throw new IllegalArgumentException(
            "Invalid application name \"" + name + "\" caused by " + reason);
      }
    }