docs: public static String encodeURI(String string) throws UnsupportedEncodingException {
          if (string == null) {
              return null;
          }
  
          return URLEncoder.encode(string, "UTF-8")
                  .replace("+", "%20")
                  .replace("%21", "!")
                  .replace("%27", "'")
                  .replace("%28", "(")
                  .replace("%29", ")")
                  .replace("%7E", "~");
      }