@Override
  public void writeSyncIfPresent(Object key, Runnable runner) {
    RegionEntry re = getEntry(key);
    if (re != null) {
      final boolean disabled = disableLruUpdateCallback();
      try {
        synchronized (re) {
          if (!re.isRemoved()) {
            runner.run();
          }
        }
      } finally {
        if (disabled) {
          enableLruUpdateCallback();
        }
        try {
          lruUpdateCallback();
        } catch (DiskAccessException dae) {
          _getOwner().handleDiskAccessException(dae);
          throw dae;
        }
      }
    }
  }
Removing the existing indexed value requires the current value in the cache, that is the one
prior to applying the operation.

@param entry the RegionEntry that contains the value prior to applying the op
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java