code: public static String encode(String component) {
      if (component != null) {
        try {
          return URLEncoder.encode(component, UTF_8.name());
        } catch (UnsupportedEncodingException e) {
          throw new RuntimeException("JVM must support UTF-8", e);
        }
      }
      return null;
    }
docs: Encode a path segment, escaping characters not valid for a URL.
  
  <p>The following characters are not escaped:
  
  <ul>
  <li>{@code a..z, A..Z, 0..9}
  <li>{@code . - * _}
  </ul>
  
  <p>' ' (space) is encoded as '+'.
  
  <p>All other characters (including '/') are converted to the triplet "%xy" where "xy" is the
  hex representation of the character in UTF-8.
  
  @param component a string containing text to encode.
  @return a string with all invalid URL characters escaped.