// set inline to avoid recursion
public void setValue(Object newValue) {
        Object checkedValue = checkValue(newValue);
        setDirty(isDifferent(baseValue, checkedValue));
        if (isDifferent(value, checkedValue)){ // firePropertyChange doesn't do this check sufficiently
            firePropertyChange(VALUE, value, value = checkedValue); // set inline to avoid recursion
        }
    }
setDirty(isDifferent(baseValue, checkedValue));
if (isDifferent(value, checkedValue)){ // firePropertyChange doesn't do this check sufficiently
firePropertyChange(VALUE, value, value = checkedValue); // set inline to avoid recursion
}
}
public void setValue(Object newValue) {
Object checkedValue = checkValue(newValue);
setDirty(isDifferent(baseValue, checkedValue));
if (isDifferent(value, checkedValue)){ // firePropertyChange doesn't do this check sufficiently
firePropertyChange(VALUE, value, value = checkedValue); // set inline to avoid recursion
}
}
public void setValue(Object newValue) {
Object checkedValue = checkValue(newValue);
setDirty(isDifferent(baseValue, checkedValue));
if (isDifferent(value, checkedValue)){ // firePropertyChange doesn't do this check sufficiently
firePropertyChange(VALUE, value, value = checkedValue); // set inline to avoid recursion
}
}