@Override
  public void txApplyPut(Operation putOp, Object key, Object newValue, boolean didDestroy,
      TransactionId rmtOrigin, TXRmtEvent event, EventID eventId, Object aCallbackArgument,
      List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
      ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
      long tailKey) {
    Operation putOperation = putOp.getCorrespondingCreateOp();
    long lastMod = owner.cacheTimeMillis();
    owner.txApplyPutPart2(markerEntry, key, lastMod, true, didDestroy, false);
    if (owner.isInitialized()) {
      if (event != null) {
        event.addPut(putOperation, owner, markerEntry, key, newValue, aCallbackArgument);
      }
      if (shouldInvokeCallbacks(owner, owner.isInitialized())) {
        // fix for bug 39526
        @Released
        EntryEventImpl e = txCallbackEventFactory
            .createCallbackEvent(owner, putOperation, key,
                newValue, rmtOrigin, event, eventId, aCallbackArgument, filterRoutingInfo,
                bridgeContext, txEntryState, versionTag, tailKey);
        switchEventOwnerAndOriginRemote(e, txEntryState == null);
        pendingCallbacks.add(e);
      }
    }
  }
Used by basicPut to signal the caller that the put was successful.
geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java