/// <exclude />
        protected override void Uninitialize(IServiceProvider provider)
        {
            if (!this.DesignMode)
            {
                WorkflowFacade.WorkflowRuntime.WorkflowIdled -= _onWorkflowIdledEventHandler;
            }

            if (this.ParentWorkflowInstanceId != Guid.Empty)
            {
                WorkflowFacade.FireChildWorkflowDoneEvent(this.ParentWorkflowInstanceId, this.WorkflowResult);
            }

            base.Uninitialize(provider);
        }