assert moduleSpace != null && moduleHandle != null;
TreeLogger logger = moduleHandle.getLogger();
ServerObjectsTable localObjects = channel.getJavaObjectsExposedInBrowser();
try {
JsValueOOPHM obj = new JsValueOOPHM();
DispatchObject dispObj;
obj.setWrappedJavaObject(moduleSpace.getIsolatedClassLoader(),
localObjects.get(refId));
dispObj = obj.getJavaObjectWrapper();
if (logger.isLoggable(TreeLogger.SPAM)) {
logger.log(TreeLogger.SPAM, "Client special invoke of setProperty(id="
+ dispId + ", newValue=" + newValue + ") on " + obj.toString(), null);
}
JsValueOOPHM jsval = new JsValueOOPHM();
channel.convertToJsValue(moduleSpace.getIsolatedClassLoader(),
localObjects, newValue, jsval);
dispObj.setField(dispId, jsval);
return new ExceptionOrReturnValue(false, newValue);
} catch (Throwable t) {
JsValueOOPHM jsval = new JsValueOOPHM();
JsValueGlue.set(jsval, moduleSpace.getIsolatedClassLoader(),
t.getClass(), t);