### Question:
ReflectionUtils { public static Class<?> getNonPrimitiveClass(Class<?> c) { if (!c.isPrimitive()) { return c; } else if (c == boolean.class) { return Boolean.class; } else if (c == byte.class) { return Byte.class; } else if (c == char.class) { return Character.class; } else if (c == double.class) { return Double.class; } else if (c == float.class) { return Float.class; } else if (c == int.class) { return Integer.class; } else if (c == long.class) { return Long.class; } else if (c == short.class) { return Short.class; } else if (c == void.class) { return Void.class; } return c; }  static Object getDefaultValue(Class<?> c); static Class<?> getNonPrimitiveClass(Class<?> c); static String getPackageName(Class<?> c); static Object callStaticMethod(
            String classAndMethod, Object... params); static Object callMethod(
            Object instance,
            String methodName,
            Object... params);  }### Answer:
@Test public void testNonPrimitiveClass() { assertEquals(Object.class, ReflectionUtils.getNonPrimitiveClass(Object.class)); assertEquals(Void.class, ReflectionUtils.getNonPrimitiveClass(void.class)); assertEquals(Boolean.class, ReflectionUtils.getNonPrimitiveClass(boolean.class)); assertEquals(Byte.class, ReflectionUtils.getNonPrimitiveClass(byte.class)); assertEquals(Character.class, ReflectionUtils.getNonPrimitiveClass(char.class)); assertEquals(Short.class, ReflectionUtils.getNonPrimitiveClass(short.class)); assertEquals(Integer.class, ReflectionUtils.getNonPrimitiveClass(int.class)); assertEquals(Long.class, ReflectionUtils.getNonPrimitiveClass(long.class)); assertEquals(Float.class, ReflectionUtils.getNonPrimitiveClass(float.class)); assertEquals(Double.class, ReflectionUtils.getNonPrimitiveClass(double.class)); }