@Override
  public boolean basicPut(EntryEventImpl event, boolean ifNew, boolean ifOld,
      Object expectedOldValue, boolean requireOldValue)
      throws TimeoutException, CacheWriterException {
    return getDataView().putEntry(event, ifNew, ifOld, expectedOldValue, requireOldValue, 0L,
        false);
  }
Allows null as new value to accommodate create with a null value. Assumes all key, value, and
callback validations have been performed.

@param event the event object for this operation, with the exception that the oldValue
       parameter is not yet filled in. The oldValue will be filled in by this operation.
@param ifNew true if this operation must not overwrite an existing key
@param ifOld true if this operation must not create a new key
@param expectedOldValue only succeed if old value is equal to this value. If null, then doesn't
       matter what old value is. If INVALID token, must be INVALID.
@param requireOldValue true if the oldValue should be set in event even if ifNew and entry
       exists
@return false if ifNew is true and there is an existing key or if ifOld is true and
        expectedOldValue does not match the current value in the cache. Otherwise return true.
geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java