public SyncEventQueue(ISyncEventManager manager) {
if (manager == null) {
throw new ArgumentException("manager may not be null");
}
this.fullCounter = new QueuedEventsCounter();
this.categoryCounter = new QueuedCategorizedEventsCounter();
this.EventManager = manager;
this.consumer = new Task(() => this.Listen(this.queue, this.EventManager, this.suspendHandle));
this.consumer.Start();
}