void (JComponent control, String propertyName, boolean instant) { final ControlValueAccessor controlAccessor; if (control instanceof JCheckBox) { controlAccessor = ValueAccessor.checkBoxAccessor((JCheckBox)control); } else if (control instanceof JTextField){ controlAccessor = ValueAccessor.textFieldAccessor((JTextField)control); } else if (control instanceof EditorTextField) { controlAccessor = ValueAccessor.editorTextFieldAccessor((EditorTextField)control); } else { throw new IllegalArgumentException("Cannot bind control of type " + control.getClass() + ".\n" + "Use bindControl(ControlValueAccessor, String) instead."); } bindControl(controlAccessor, propertyName, instant); }