srecord FixedClassMap(Class clazz) { bool sync = true, nullOnEmpty = false; Map put(Map map, A key, B value) { if (map == null) map = newInstance(clazz); if (sync) syncPut(map, key, value); else map.put(key, value); ret map; } Map remove(Map map, O key) { if (map == null) null; if (sync) syncRemove(map, key); else map.remove(key); ret nullOnEmpty && empty(map) ? null : map; } }