code: public boolean hasChanged() {
          Object currentValue = getValue();
          return value == null || currentValue == null ? value != currentValue : !value.equals(currentValue);
      }
docs: Returns true if the property value has been changed since the last commit.
  
  @return True if pending changes exist.