please include function myInnerClasses. static abstract class DynModule { S name, toolTip; transient O _host; transient Set timers; transient Lock lock = lock(); transient bool persistOnChangedField = true; void setModuleName(S name) { this.name = name; setInternalFrameTitle(vis(), name); } void setModuleToolTip(S toolTip) { this.toolTip = toolTip; } JComponent vis() { ret (JComponent) getOpt(_host, 'vis); } void ownTimer(java.util.Timer timer) { lock lock; if (timers == null) timers = newWeakIdentityHashSet(); addIfNotThere(timers, timer); } void cleanMeUp_dynModule { cancelTimers(getAndClearList(timers)); } void persistMe { callOpt(_host, 'change); } void _change { persistMe(); } bool setField(S name, O value) { lock lock; if (eq(get(this, name), value)) false; set(this, name, value); if (persistOnChangedField) _change(); true; } bool setFields(O... params) { bool change = false; for (int i = 0; i < l(params); i += 2) if (setField((S) params[i], params[i+1])) change = true; ret change; } void start {} void revisualize { call(creator(), 'revisualizeModule, _host); } }