public Object getSubstituteValue(EntryEventImpl clonedEvent, EnumListenerEvent operation) {
    // Get substitution value to enqueue if necessary
    Object substituteValue = null;
    if (substitutionFilter != null) {
      try {
        substituteValue = substitutionFilter.getSubstituteValue(clonedEvent);
        // If null is returned from the filter, null is set in the value
        if (substituteValue == null) {
          substituteValue = GatewaySenderEventImpl.TOKEN_NULL;
        }
      } catch (Exception e) {
        // Log any exceptions that occur in the filter and use the original value.
        logger.warn(String.format(
            "%s: An Exception occurred while queueing %s to perform operation %s for %s",
            this, getId(), operation, clonedEvent),
            e);
      }
    }
    return substituteValue;
  }
During sender is getting stopped, if there are any cache operation on queue then that event
will be stored in temp queue. Once sender is started, these event from tmp queue will be
cleared.
geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java