boolean updateValue(Object newValue) {
        String nv = (newValue == null) ? null : newValue.toString();
        synchronized (lock) {
            if ((nv == null && stringValue == null)
               || (nv != null && nv.equals(stringValue))) {
                return false;
            }
            stringValue = nv;
            setStatusForValues();
            changedTime = System.currentTimeMillis();
            return true;
        }
    }
boolean updateValue(Object newValue) {
        String nv = (newValue == null) ? null : newValue.toString();
        synchronized (lock) {
            if ((nv == null && stringValue == null)
               || (nv != null && nv.equals(stringValue))) {
                return false;
            }
            stringValue = nv;
            setStatusForValues();
            changedTime = System.currentTimeMillis();
            return true;
        }
    }
boolean updateValue ( Object newValue ) { String nv = ( newValue == null ) ? null : newValue . toString ( ) ; synchronized ( lock ) { if ( ( nv == null && stringValue == null ) || ( nv != null && nv . equals ( stringValue ) ) ) { return false ; } stringValue = nv ; setStatusForValues ( ) ; changedTime = System . currentTimeMillis ( ) ; return true ; } }
return true iff the value actually changed
return true iff the value actually changed