protected short computeCompressedShort(short bits) {
      if (hasOldValue) {
        bits |= OLD_VALUE_MASK;
      }
      if (directAck) {
        bits |= DIRECT_ACK_MASK;
      }
      if (possibleDuplicate) {
        bits |= POSSIBLE_DUPLICATE_MASK;
      }
      if (processorId != 0) {
        bits |= HAS_PROCESSOR_ID;
      }
      if (callbackArg != null) {
        bits |= CALLBACK_ARG_MASK;
      }
      if (hasDelta) {
        bits |= DELTA_MASK;
      }
      if (filterRouting != null) {
        bits |= FILTER_INFO_MASK;
      }
      if (needsRouting) {
        bits |= NEEDS_ROUTING_MASK;
      }
      if (versionTag != null) {
        bits |= VERSION_TAG_MASK;
      }
      if (versionTag instanceof DiskVersionTag) {
        bits |= PERSISTENT_TAG_MASK;
      }
      if (inhibitAllNotifications) {
        bits |= INHIBIT_NOTIFICATIONS_MASK;
      }
      return bits;
    }
When an event is discarded because of an attempt to overwrite a more recent change we still
need to deliver that event to clients. Clients can then perform their own concurrency checks
on the event.
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java