code: @Sensitive
      protected String encodeURL(@Sensitive String url) {
          url = url.replaceAll("%", "%25");
          url = url.replaceAll(";", "%3B");
          url = url.replaceAll(",", "%2C");
  
          return url;
      }
docs: Encode the specified URL String with percent encoding.
  
  Order of encoding:
  1. Encode percent signs to "%25". Not doing this first will clobber subsequent encodings.
  2. Encode semi-colons to "%3B" since they are invalid in cookie values.
  3. Encode commas to "%2C".
  
  @param url a non-null String
  @return encoded version of url