@Retained
  EntryEvent getEvent(InternalRegion r, Object key, TXState txs) {
    InternalRegion eventRegion = r;
    if (r.isUsedForPartitionedRegionBucket()) {
      eventRegion = r.getPartitionedRegion();
    }
    @Retained
    EntryEventImpl result = new TxEntryEventImpl(eventRegion, key);
    boolean returnedResult = false;
    try {
      if (destroy == DESTROY_NONE || isOpDestroy()) {
        result.setOldValue(getOriginalValue());
      }
      result.setOriginRemote(txs.isOriginRemoteForEvents());
      result.setTransactionId(txs.getTransactionId());
      returnedResult = true;
      return result;
    } finally {
      if (!returnedResult) {
        result.release();
      }
    }
  }
Gets the operation code for the operation done on this entry in caches remote from the
originator of the tx (i.e. the "far side").

@return null if no far side operation
geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java