docs: public final String htmlEscape(final char pChar) {
      if (pChar == ' ') {
        return "%20";
      } else if (pChar == '!') {
        return "%21";
      } else if (pChar == '"') {
        return "%22";
      } else if (pChar == '#') {
        return "%23";
      } else if (pChar == '$') {
        return "%24";
      } else if (pChar == '%') {
        return "%25";
      } else if (pChar == '&') {
        return "%26";
      } else if (pChar == '\'') {
        return "%27";
      } else if (pChar == '(') {
        return "%28";
      } else if (pChar == ')') {
        return "%29";
      } else if (pChar == '*') {
        return "%2A";
      } else if (pChar == '+') {
        return "%2B";
      } else if (pChar == ',') {
        return "%2C";
      } else if (pChar == '-') {
        return "%2D";
      } else if (pChar == '.') {
        return "%2E";
      } else if (pChar == '/') {
        return "%2F";
      } else if (pChar == ':') {
        return "%3A";
      } else if (pChar == ';') {
        return "%3B";
      } else if (pChar == '<') {
        return "%3C";
      } else if (pChar == '=') {
        return "%3D";
      } else if (pChar == '>') {
        return "%3E";
      } else if (pChar == '?') {
        return "%3F";
      } else if (pChar == '@') {
        return "%40";
      } //TODO all chars
      return String.valueOf(pChar);
    }