static void onChange(JSpinner spinner, O r) { spinner.addChangeListener(changeListener(r)); } static A onChange(A b, O r) { b.addChangeListener(changeListener(r)); ret b; } static void onChange(JTextComponent tc, O r) { onUpdate(tc, r); }