### Question:
Utils { public static String joinAndUrlEncode(Collection<String> list) throws UnsupportedEncodingException { if (list == null || list.isEmpty()) { return ""; } return encode(Joiner.on(" ").join(list)); } private  Utils(); static boolean isTestMode(); static String getUmaDiscoveryUrl(String p_amHost); static String joinAndUrlEncode(Collection<String> list); static String encode(String str); static String decode(String str); static int hoursDiff(Date earlierDate, Date laterDate); static long date(Date date); static String encodeCredentials(String username, String password); static boolean isValidUrl(String url); static boolean isTrue(Boolean bool); static List<String> stringToList(String source); static String mapAsStringWithEncodedValues(Map<String, String> p_map); static Date addTimeToDate(Date date, int timeValue, int timeFormat); static Properties loadPropertiesFromFile(String filename, Properties props);  }### Answer:
@Test public void joinAndEncode() throws UnsupportedEncodingException { final ArrayList<String> list = Lists.newArrayList("id_token", "token"); assertEquals("id_token%20token", Utils.joinAndUrlEncode(list)); }