code: public boolean setIfSignificantToUser(final int newValue) {
          while (true) {
              final int currentValue = _value.get();
  
              if (newValue > currentValue) {
                  final long currentTimestamp;
                  if (_significantUpdateIntervalMillis > 0) {
                      currentTimestamp = System.currentTimeMillis();
                      if (currentTimestamp - _lastUpdate < _significantUpdateIntervalMillis) {
                          return false;
                      }
                  } else {
                      currentTimestamp = -1;
                  }
  
                  if (_value.compareAndSet(currentValue, newValue)) {
                      _lastUpdate = currentTimestamp;
                      return true;
                  }
              } else {
                  return false;
              }
          }
      }
docs: Sets the value of the counter if the new value is considered significant
  to the user. In order to be 'significant' we require two circumstances to
  be true:
  
  1) The new value is greater than the previous value.
  
  2) The value was not updated within the last significant update interval.
  
  @param newValue
  @return