@Override
public void dispose() {
// force disposing any pending JsValue instances
JsValue.mainThreadCleanup();
try {
ModuleSpace space = getModuleSpace();
if (space != null) {
space.dispose();
}
} catch (Throwable e) {
ReflectionUtils.propagate(e);
}
super.dispose();