async Task Execute(BehaviorContext <TInstance> context)
        {
            CompositeEventStatus value = _accessor.Get(context.Instance);

            value.Set(_flag);

            _accessor.Set(context.Instance, value);

            if (!value.Equals(_complete))
            {
                return;
            }

            await RaiseCompositeEvent(context);
        }
        Task Execute(BehaviorContext <TInstance> context)
        {
            var value = _accessor.Get(context.Instance);

            value.Set(_flag);

            _accessor.Set(context.Instance, value);

            if (!value.Equals(_complete))
            {
                return(TaskUtil.Completed);
            }

            return(RaiseCompositeEvent(context));
        }