### Question:
StringUtils { public static String lastOf(String qualifiedName, String... sep) { final String realSep = separator(sep); final String nullSafeName = qualifiedName == null ? "" : qualifiedName; final int idx = nullSafeName.lastIndexOf(realSep); if (idx < nullSafeName.length()) return nullSafeName.substring(idx + 1); else return qualifiedName; }  static String arrayFormat(String format, Object[] items); static Optional<String> cdr(String name, String... sep); static String car(String name, String... sep); static String lastOf(String qualifiedName, String... sep); static String untill(String qualifiedName, String... sep); static String dotToUpperCamelCase(String input); static String dotToDash(String input); static String camelCaseToDash(String input); static boolean isPackageFriendly(String moduleName); static String withoutTypeArgs(String javaTypeString); static String notEmptytrimmed(String param); static Optional<Tuple<String, String>> splitIntoTwo(String mappingString); static int countMatches(String theString, String... sep);  }### Answer:
@Test void lastOf_boundary_tests() { assertEquals("a,b",lastOf("a,b",(String[]) null)); assertEquals("a,b",lastOf("a,b","")); assertEquals("b",lastOf("a,b",",")); assertEquals("a,b",lastOf("a,b",(String) null)); assertEquals("", lastOf("a.")); assertEquals("a",lastOf(".a")); assertEquals("", lastOf(null)); }