@Override
  public void txApplyPut(Operation putOp, Object key, Object newValue, boolean didDestroy,
      TransactionId transactionId, TXRmtEvent event, EventID eventId, Object aCallbackArgument,
      List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
      ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
      long tailKey) {
    long startPut = getStatisticsClock().getTime();
    entries.txApplyPut(putOp, key, newValue, didDestroy, transactionId, event, eventId,
        aCallbackArgument, pendingCallbacks, filterRoutingInfo, bridgeContext, txEntryState,
        versionTag, tailKey);
    updateStatsForPut(startPut);
    // make sure we throw an exception if we skip the TX put because
    // the region is cleared (due to a destroy)
    checkReadiness();
  }
@param putOp describes the operation that did the put
@param key the key of the entry to put
@param newValue the new value of the entry
@param didDestroy true if tx destroyed this entry at some point
@param event filled in if operation performed
@param aCallbackArgument argument passed in by user
@param txEntryState for passing up versionTag - only on near side
@param versionTag tag generated by txCoordinator - only on far side
@param tailKey tail (shadow) key generated by txCoordinator for WAN - only on farside
geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java