scope evalJava_prep2. static new ThreadLocal #useCache; // cached main classes static Map #cache = synchronizedMRUCache(10); static O evalJava_prep2(S main) { if (useCache) { O obj = cache.get(main); if (obj != null) ret obj; } O obj = veryQuickJava(main); if (useCache) cache.put(main, obj); makeDependent(obj); setOpt(obj, "getProgramName_cache", "User Code"); ret obj; } end scope