String invocationErrorCode) throws GUIException {
try {
return method.invoke(model, args);
} catch(IllegalAccessException iae) {
GUIException e = new GUIException(illegalAccessErrorCode);
e.initCause(iae);
throw e;
} catch(InvocationTargetException ite) {
throw new GUIException("cannot run method", ite);
} catch(IllegalArgumentException iae) {
throw new GUIException("cannot set '"+method.getName()+"' with type '"+args[0]+"'",iae);
}
}