public void invoke(Object object, IsoSetterCallback callback) {
final Iterator<IsoMethodNode> methodNodes = getSetters(
object.getClass()).iterator();
while (methodNodes.hasNext()) {
IsoMethodNode methodNode = methodNodes.next();
String methodName = methodNode.getMethodName();
String propertyName = getSetterPropertyName(methodName);
Class<?>[] parameterTypes = methodNode.getParameterTypes();
if (callback.execute(propertyName, parameterTypes[0])) {
context.getInstance(IsoReflectionManager.class).invoke(object,
methodName, parameterTypes,
new Object[] { callback.methodCallback(propertyName) });
}