Field field = getField();
try
{
field.set(instance, value);
}
catch(IllegalAccessException e)
{
log.fatal("illegal access on field " + field, e);
throw new RuntimeException(e);
}
catch(IllegalArgumentException e)
{
String msg = "failed to set value " + value + " on field " + field;
log.error(msg, e);
throw new IllegalArgumentException(msg);
}