concept PersistentLister implements ILister { new HashMap lists; new HashMap treeMaps; public synchronized L getList(S name) { L l = lists.get(name); if (l == null) lists.put(name, l = listInConcept(this, new L)); ret l; } public synchronized Map getTreeMap(S name) { Map m = treeMaps.get(name); if (m == null) treeMaps.put(name, m = mapInConcept(this, new TreeMap)); ret m; } }