### Question:
UrlUtil { public static String escapeUrlParam(String theUnescaped) { if (theUnescaped == null) { return null; } return PARAMETER_ESCAPER.escape(theUnescaped); }  static String constructAbsoluteUrl(String theBase, String theEndpoint); static String constructRelativeUrl(String theParentExtensionUrl, String theExtensionUrl); static String escapeUrlParam(String theUnescaped); static boolean isAbsolute(String theValue); static boolean isNeedsSanitization(CharSequence theString); static boolean isValid(String theUrl); static RuntimeResourceDefinition parseUrlResourceType(FhirContext theCtx, String theUrl); static Map<String, String[]> parseQueryString(String theQueryString); static Map<String, String[]> parseQueryStrings(String... theQueryString); static UrlParts parseUrl(String theUrl); static String sanitizeUrlPart(IPrimitiveType<?> theString); static String sanitizeUrlPart(CharSequence theString); static String[] sanitizeUrlPart(String[] theParameterValues); static String unescape(String theString); static List<NameValuePair> translateMatchUrl(String theMatchUrl);  }### Answer:
@Test public void testEscape() { assertEquals("A%20B", UrlUtil.escapeUrlParam("A B")); assertEquals("A%2BB", UrlUtil.escapeUrlParam("A+B")); }