Class c = ReflectData.getClassProp(s, ReflectData.CLASS_PROP);
if (c != null) // Stringable annotated class
try { // use String-arg ctor
return c.getConstructor(String.class).newInstance(value);
} catch (NoSuchMethodException e) {
throw new AvroRuntimeException(e);
} catch (InstantiationException e) {
throw new AvroRuntimeException(e);
} catch (IllegalAccessException e) {
throw new AvroRuntimeException(e);
} catch (InvocationTargetException e) {
throw new AvroRuntimeException(e);
}
return value;
}