static A vm_generalMap_getOrCreate(O key, F0 create) { ret vm_generalMap_getOrCreate(key, f0ToIF0(create)); } static A vm_generalMap_getOrCreate(O key, IF0 create) { synchronized(get(javax(), 'generalMap)) { // should switch to locks here A a = cast vm_generalMap_get(key); if (a == null) vm_generalMap_put(key, a = create?!); ret a; } }