### Question:
InstantiationUtil { public static <T> T instantiate(final String className, final Class<T> targetType, final ClassLoader classLoader) throws ClassNotFoundException { final Class<? extends T> clazz = Class.forName( className, false, classLoader).asSubclass(targetType); return instantiate(clazz); } private  InstantiationUtil(); static T instantiate(final String className, final Class<T> targetType, final ClassLoader classLoader); static T instantiate(Class<T> clazz, Class<? super T> castTo); static T instantiate(Class<T> clazz); static boolean hasPublicNullaryConstructor(Class<?> clazz); static boolean isPublic(Class<?> clazz); static boolean isProperClass(Class<?> clazz); static boolean isNonStaticInnerClass(Class<?> clazz); static void checkForInstantiation(Class<?> clazz); static String checkForInstantiationError(Class<?> clazz); static T readObjectFromConfig(Configuration config, String key, ClassLoader cl); static void writeObjectToConfig(Object o, Configuration config, String key); static byte[] serializeToByteArray(TypeSerializer<T> serializer, T record); static T deserializeFromByteArray(TypeSerializer<T> serializer, byte[] buf); static T deserializeFromByteArray(TypeSerializer<T> serializer, T reuse, byte[] buf); @SuppressWarnings("unchecked") static T deserializeObject(byte[] bytes, ClassLoader cl); @SuppressWarnings("unchecked") static T deserializeObject(InputStream in, ClassLoader cl); @SuppressWarnings("unchecked") static T deserializeObject(byte[] bytes, ClassLoader cl, boolean isFailureTolerant); @SuppressWarnings("unchecked") static T deserializeObject(InputStream in, ClassLoader cl, boolean isFailureTolerant); static byte[] serializeObject(Object o); static void serializeObject(OutputStream out, Object o); static boolean isSerializable(Object o); static T clone(T obj); static T clone(T obj, ClassLoader classLoader); static T createCopyWritable(T original); static Class<T> resolveClassByName(
			DataInputView in,
			ClassLoader cl); static Class<T> resolveClassByName(
			DataInputView in,
			ClassLoader cl,
			Class<? super T> supertype);  }### Answer:
@Test public void testInstantiationOfStringValue() { StringValue stringValue = InstantiationUtil.instantiate( StringValue.class, null); assertNotNull(stringValue); }
@Test public void testInstantiationOfStringValueAndCastToValue() { StringValue stringValue = InstantiationUtil.instantiate( StringValue.class, Value.class); assertNotNull(stringValue); }