static B syncGetOrCreate(Map map, A key, Class extends B> c) ctex {
synchronized(map) { ret getOrCreate(map, key, c); }
}
// f : func -> B
static B syncGetOrCreate(Map map, A key, O f) {
synchronized(map) { ret getOrCreate(map, key, f); }
}
static B nuLike syncGetOrCreate(Class extends B> c, Map map, A key) {
ret syncGetOrCreate(map, key, c);
}
static B syncGetOrCreate(Map map, A key, IF0 f) {
synchronized(map) { ret getOrCreate(map, key, f); }
}