private void MonitorStateChanged(QueueType type, bool value) { _monitorState.MonitorQueueType[(int)type] = value; if( !value ) { lock( _itemsLock ) { foreach( var itm in _items.Where(i => i.Queue.Type == type).ToArray() ) _items.Remove(itm); } } }