static O unstructureInRealm(S s, fO realm) { Class mc = mainClass(realm); S mcDollar = mc.getName() + "$"; printVars unstructureInRealm(+mc, +mcDollar); O classFinder = callOpt(mc, "_defaultClasFinder"); if (classFinder != null) print("Using realm's class finder"); else classFinder = func(S name) { S rewrittenName = replacePrefix("main$", mcDollar, name); printVars("classFinder in realm: ", +name, +rewrittenName); O result = getClass_noConvertName(realm, rewrittenName); print("result: " + result); ret result; }; // notify module that we are loading (old) temp tempSetTL((ThreadLocal) callOpt(mc, 'dynamicObjectIsLoading_threadLocal), true); // because this is now global anyway temp tempSetTL(dynamicObjectIsLoading_threadLocal(), true); ret unstructure(s, false, classFinder); }