static NotifyingList listWithNotify(final Runnable onChange) { ret listWithNotify(new L, onChange); } static NotifyingList listWithNotify(L l, Runnable onChange) { ret new NotifyingList(l) { void change() { onChange.run(); } }; } static NotifyingList listWithNotify(fO onChange) { ret new NotifyingList(new L) { void change() { callF(onChange); } }; }