static A updateChain(ChangeTriggerable b, A a) { ret onChange(a, b); } static A updateChain(Updateable b, A a) { ret onChange(a, b); } static A updateChain(Updateable b, A a) { onChange(a, new UpdateTrigger(b)); ret a; } static A updateChain(Runnable b, A a) { ret onChange(a, b); } static A updateChain(Runnable b, A a) { onChange(a, b); ret a; } static A updateChain(ChangeTriggerable b, A a) { if (b != null) onChange(a, new ChangeTrigger(b)); ret a; } static A updateChain(O b, A l) { fOr (a : l) call(mainFunctionHolder updateChain, "updateChain", b, a); }