@Released(ENTRY_EVENT_OLD_VALUE)
  void basicSetOldValue(@Unretained(ENTRY_EVENT_OLD_VALUE) Object v) {
    @Released
    final Object curOldValue = oldValue;
    if (v == curOldValue) {
      return;
    }
    if (offHeapOk && mayHaveOffHeapReferences()) {
      if (ReferenceCountHelper.trackReferenceCounts()) {
        OffHeapHelper.releaseAndTrackOwner(curOldValue, new OldValueOwner());
      } else {
        OffHeapHelper.release(curOldValue);
      }
    }

    oldValue = v;
    oldValueBytes = null;
  }
Note if v might be an off-heap reference that you did not retain for this EntryEventImpl then
call retainsAndSetOldValue instead of this method.

@param v the caller should have already retained this off-heap reference.
geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java