/// <summary>
        /// Handles the completion of the specified <see cref="IEndProcessor"/>
        /// </summary>
        /// <param name="processor">The <see cref="IEndProcessor"/> to handle the completion of</param>
        /// <returns>A new awaitable <see cref="Task"/></returns>
        protected virtual async Task OnCompletedAsync(IEndProcessor processor)
        {
            await this.OnActivityProcessingCompletedAsync(processor);

            this.Logger.LogInformation("Workflow executed");
            this.HostApplicationLifetime.StopApplication();
        }
 /// <summary>
 /// Handles the completion of the specified <see cref="IEndProcessor"/>
 /// </summary>
 /// <param name="processor">The <see cref="IEndProcessor"/> that has produced the <see cref="V1WorkflowActivityCompletedIntegrationEvent"/></param>
 /// <param name="e">The <see cref="V1WorkflowActivityCompletedIntegrationEvent"/> to handle</param>
 /// <returns>A new awaitable <see cref="Task"/></returns>
 protected virtual async Task OnEndCompletedAsync(IEndProcessor processor, V1WorkflowActivityCompletedIntegrationEvent e)
 {
     await this.Context.Workflow.SetOutputAsync(e.Output, this.CancellationToken);
 }