void checkForDeltaConflictAndSetVersionTag(VersionTag versionTag, Connection connection)
        throws Exception {
      RegionEntry regionEntry = event.getRegionEntry();
      if (regionEntry == null) {
        event.setVersionTag(versionTag);
        return;
      }
      VersionStamp versionStamp = regionEntry.getVersionStamp();
      if (deltaSent && versionTag.getEntryVersion() > versionStamp.getEntryVersion() + 1) {
        // Delta can't be applied, need to get full value.
        if (logger.isDebugEnabled()) {
          logger.debug("Version is out of order. Need to get from server to perform delta update.");
        }
        Object object = getFullValue(connection);
        event.setNewValue(object);
      } else {
        event.setVersionTag(versionTag);
      }
    }
the operation will have either a region or a regionName. Names seem to be used by unit tests
to exercise operations without creating a real region
geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java