/// <summary>
        /// Processes all synchronous events that must take place before the next time loop for the algorithm
        /// </summary>
        public override void ProcessSynchronousEvents()
        {
            // we process pending order requests our selves
            Run();

            base.ProcessSynchronousEvents();

            _brokerage.SimulateMarket();
            _brokerage.Scan();

            // Run our delistings processing, only do this once a slice
            if (_algorithm.CurrentSlice != null && _algorithm.CurrentSlice.Delistings != _lastestDelistings)
            {
                _lastestDelistings = _algorithm.CurrentSlice.Delistings;
                _brokerage.ProcessDelistings(_algorithm.CurrentSlice.Delistings);
            }
        }