private boolean isSameValueAlreadyInCacheForPutIfAbsent(Object retainedValue) {
    Object rawNewValue = getEvent().getRawNewValue();
    if (Token.isInvalid(retainedValue)) {
      return rawNewValue == null || Token.isInvalid(rawNewValue);
    }

    return ValueComparisonHelper.checkEquals(retainedValue, rawNewValue,
        isCompressedOffHeap(getEvent()), getOwner().getCache());
  }
@return false if preconditions indicate that
        the put should not be done.
geode-core/src/main/java/org/apache/geode/internal/cache/map/RegionMapPut.java