private void inject(T instance, Object value) {
try {
method.invoke(instance, value);
} catch (IllegalAccessException e) {
throw new ObjectCreationException("Method is not accessible [" + method + "]", e);
} catch (IllegalArgumentException e) {
throw new ObjectCreationException("Exception thrown by setter: " + method.getName(), e);
} catch (InvocationTargetException e) {
throw new ObjectCreationException("Exception thrown by setter: " + method.getName(), e);
}
}