sclass ActualThoughtSpace extends AbstractThoughtSpace { new TripleIndex index; int limit; // 0 = no limit Map blocked = newWeakHashMap(); *() {} *(int *limit) {} // existence of triple has already been checked public S postTriple(T3 t) { if (limitReached()) fail("Thought space limit reached"); TripleWeb w = tripleWeb(t); index.addTriple(w); ret w.globalID(); } bool limitReached() { ret limit > 0 && size() >= limit; } L get(S s) { L l = filterNonBlocked(parent.get(s)); ret combineLists(l, index.get(ai_shortenForIndex(s))); } L filterNonBlocked(L l) { ... } int size() { ret l(websByID); } }