### Question:
Utils { public static <T extends CharSequence> T notEmpty(T chars, String message, Object... values) { if (chars == null || chars.length() == 0) { throw new IllegalArgumentException(String.format(message, values)); } return chars; } private  Utils(); static String join(String delimiter, String wrap, Iterable<?> objs); static String join(String delimiter, Iterable<?> objs); static String concat(CharSequence... strings); static void closeQuietly(Closeable closeable); static String escape(String str, boolean escapeSingleQuote); static String unescape(String str); static String hex(char ch); static boolean isEmpty(CharSequence cs); static T notNull(T object, String message, Object... values); static void isTrue(boolean expression, String message); static void onlyOneIsTrue(final String message, final boolean... expressions); static boolean onlyOneIsTrueNonThrow(final boolean... expressions); static T notEmpty(T chars, String message, Object... values); static String toString(Object o);  }### Answer:
@Test public void testNotEmpty() { Assert.assertEquals("bar", Utils.notEmpty("bar", "foo", 1, 2, 3)); Assert.assertEquals("baz", Utils.notEmpty("baz", "bar", "b", "a", "r")); }
@Test public void testNotEmptyThrowNull() { thrown.expect(IllegalArgumentException.class); Utils.notEmpty(null, "foo", 1, 2, 3); }
@Test public void testNotEmptyThrowLength0() { thrown.expect(IllegalArgumentException.class); Utils.notEmpty("", "foo", 1, 2, 3); }