private void OnNewGroupEvent(object sender, GroupEventEventAgrs args) { lock (this) { if (args.GroupEvent.Group != null) { var id = args.GroupEvent.Group.Id; var group = this.framework.GroupManager.Groups[id]; if (group != null) { group.OnNewGroupEvent(args.GroupEvent); var list = this.listenersByGroupId[id]; list?.ForEach(l => l.Queue.Enqueue(args.GroupEvent)); } } } }