protected void initializeAction(EnumListenerEvent operation, EntryEventImpl event) {
    if (operation == EnumListenerEvent.AFTER_CREATE) {
      // Initialize after create action
      action = CREATE_ACTION;

      // Initialize number of parts
      // part 1 = action
      // part 2 = posDup flag
      // part 3 = regionName
      // part 4 = eventId
      // part 5 = key
      // part 6 = value (create and update only)
      // part 7 = whether callbackArgument is non-null
      // part 8 = callbackArgument (if non-null)
      // part 9 = versionTimeStamp;
      numberOfParts = (callbackArgument == null) ? 8 : 9;
    } else if (operation == EnumListenerEvent.AFTER_UPDATE) {
      // Initialize after update action
      action = UPDATE_ACTION;

      // Initialize number of parts
      numberOfParts = (callbackArgument == null) ? 8 : 9;
    } else if (operation == EnumListenerEvent.AFTER_DESTROY) {
      // Initialize after destroy action
      action = DESTROY_ACTION;

      // Initialize number of parts
      // Since there is no value, there is one less part
      numberOfParts = (callbackArgument == null) ? 7 : 8;
    } else if (operation == EnumListenerEvent.TIMESTAMP_UPDATE) {
      // Initialize after destroy action
      action = VERSION_ACTION;

      // Initialize number of parts
      // Since there is no value, there is one less part
      numberOfParts = (callbackArgument == null) ? 7 : 8;
    } else if (operation == EnumListenerEvent.AFTER_INVALIDATE) {
      // Initialize after invalidate action
      action = INVALIDATE_ACTION;

      // Initialize number of parts
      // Since there is no value, there is one less part
      numberOfParts = (callbackArgument == null) ? 7 : 8;
    } else if (operation == EnumListenerEvent.AFTER_UPDATE_WITH_GENERATE_CALLBACKS) {
      if (event.isGenerateCallbacks()) {
        action = UPDATE_ACTION;
      } else {
        action = UPDATE_ACTION_NO_GENERATE_CALLBACKS;
      }
      numberOfParts = (callbackArgument == null) ? 8 : 9;
    }
  }
Initialize this event's action and number of parts

@param operation The operation from which to initialize this event's action and number of parts
geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java