sclass VarInConcept implements IVar { IVar v; Concept cc; *() {} // for persistence *(IVar *v, Concept *cc) {} public void set(A a) { v.set(a); change(); } public synchronized A get() { ret v.get(); } public synchronized bool has() { ret v.has(); } public synchronized void clear() { v.clear(); change(); } void change() { if (cc != null) cc.change(); } IVar unwrap() { ret v; } toString { ret str(v); } }