### Question:
UrlUtil { public static String constructRelativeUrl(String theParentExtensionUrl, String theExtensionUrl) { if (theParentExtensionUrl == null) { return theExtensionUrl; } if (theExtensionUrl == null) { return null; } int parentLastSlashIdx = theParentExtensionUrl.lastIndexOf('/'); int childLastSlashIdx = theExtensionUrl.lastIndexOf('/'); if (parentLastSlashIdx == -1 || childLastSlashIdx == -1) { return theExtensionUrl; } if (parentLastSlashIdx != childLastSlashIdx) { return theExtensionUrl; } if (!theParentExtensionUrl.substring(0, parentLastSlashIdx).equals(theExtensionUrl.substring(0, parentLastSlashIdx))) { return theExtensionUrl; } if (theExtensionUrl.length() > parentLastSlashIdx) { return theExtensionUrl.substring(parentLastSlashIdx + 1); } return theExtensionUrl; }  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 testConstructRelativeUrl() { assertEquals("http: assertEquals("http: assertEquals("baz", UrlUtil.constructRelativeUrl("http: }