code: public void leaveIntermediateCatchEvent(DelegateExecution execution) {
      EventGateway eventGateway = getPrecedingEventBasedGateway(execution);
      if (eventGateway != null) {
        deleteOtherEventsRelatedToEventBasedGateway(execution, eventGateway);
      }
      
      leave(execution); // Normal leave
    }
docs: Specific leave method for intermediate events: does a normal leave(), except
  when behind an event based gateway. In that case, the other events are cancelled
  (we're only supporting the exclusive event based gateway type currently).
  and the process instance is continued through the triggered event.