public GridViewEventProcessEntity(GridViewSynchronizationService owner)
 {
     this.preProcessListeners  = new PriorityWeakReferenceList();
     this.processListeners     = new PriorityWeakReferenceList();
     this.postProcessListeners = new PriorityWeakReferenceList();
     this.owner = owner;
 }
        protected virtual bool ProcessCollection(
            GridViewEvent gridEvent,
            PriorityWeakReferenceList list,
            GridEventProcessMode processMode)
        {
            bool flag = false;

            foreach (IGridViewEventListener viewEventListener in list.ReverseForEach())
            {
                switch (processMode)
                {
                case GridEventProcessMode.Process:
                    GridViewEventResult gridViewEventResult1 = viewEventListener.ProcessEvent(gridEvent);
                    flag = gridViewEventResult1 != null && gridViewEventResult1.StopDispatch;
                    break;

                case GridEventProcessMode.PreProcess:
                    GridViewEventResult gridViewEventResult2 = viewEventListener.PreProcessEvent(gridEvent);
                    flag = gridViewEventResult2 != null && gridViewEventResult2.StopDispatch;
                    break;

                default:
                    GridViewEventResult gridViewEventResult3 = viewEventListener.PostProcessEvent(gridEvent);
                    flag = gridViewEventResult3 != null && gridViewEventResult3.StopDispatch;
                    break;
                }
                if (flag)
                {
                    break;
                }
            }
            return(!flag);
        }