public IList <HandlerInvokeData> Resolve(Event eventInstance, Type handlerType)
        {
            List <HandlerInvokeData>           instance = Cache.listHandlersInvokeData.GetInstance();
            IList <HandlerBroadcastInvokeData> handlers = this.handlerCollector.GetHandlers(handlerType);
            int count = handlers.Count;

            for (int i = 0; i < count; i++)
            {
                HandlerBroadcastInvokeData invokeData = handlers[i];
                if (invokeData.IsActual() || this.UpdateInvokeData(invokeData, eventInstance))
                {
                    instance.Add(invokeData);
                }
            }
            return(instance);
        }
        protected bool UpdateInvokeData(HandlerBroadcastInvokeData invokeData, Event eventInstance)
        {
            HandlerInvokeGraph handlerInvokeGraph = invokeData.Handler.HandlerInvokeGraph.Init();

            this.entityAsList.Clear();
            this.entityAsList.Add(invokeData.Entity);
            bool flag = combinator.Combine(handlerInvokeGraph, this.entityAsList);

            if (flag)
            {
                invokeData.Update(eventInstance, handlerInvokeGraph);
            }
            else
            {
                invokeData.UpdateForEmptyCall();
            }
            handlerInvokeGraph.Clear();
            return(flag);
        }