field.setAccessible(true);
}
if(hasInterface(field.getType(), JsonDeserializer.class)) {
try {
JsonDeserializer jd = (JsonDeserializer) field.getType().newInstance();
jd.fromJson(SerializationUtils.toJson(map.get(parameterName)));
field.set(o, jd);
} catch (InstantiationException e) {
field.set(o, map.get(parameterName));
} catch (JsonException e) {
field.set(o, map.get(parameterName));