public void AddPageRequest(int pageIndex, DataSourcePageRequestPriority priority) { if (DeferAutoRefresh) { return; } if (_worker != null && _worker.IsShutdown) { _worker = null; _callback = null; } if (_worker == null) { CreateWorker(); } if (priority == DataSourcePageRequestPriority.High) { _requests.AddFirst(pageIndex); } else { _requests.AddLast(pageIndex); } if (!_worker.AddPageRequest(pageIndex, priority)) { _worker = null; _callback = null; AddPageRequest(pageIndex, priority); } }