public void doEntryPut(PutAllEntryData entry, DistributedRegion rgn) {
      @Released
      EntryEventImpl ev = PutAllMessage.createEntryEvent(entry, getSender(), context, rgn,
          possibleDuplicate, needsRouting, callbackArg, true, skipCallbacks);
      // we don't need to set old value here, because the msg is from remote. local old value will
      // get from next step
      try {
        super.basicOperateOnRegion(ev, rgn);
      } finally {
        if (ev.hasValidVersionTag() && !ev.getVersionTag().isRecorded()) {
          if (rgn.getVersionVector() != null) {
            rgn.getVersionVector().recordVersion(getSender(), ev.getVersionTag());
          }
        }
        ev.release();
      }
    }
Does the "put" of one entry for a "putall" operation. Note it calls back to
AbstractUpdateOperation.UpdateMessage#basicOperationOnRegion

@param entry the entry being put
@param rgn the region the entry is put in
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java