public void AddListener(IGroupListener listener) { lock (this) { this.listeners.Add(listener); this.groupIdsByListener[listener] = new List<int>(); foreach(var group in this.framework.GroupManager.GroupList) ProcessGroup(listener, group); } }