void FindGroupChatsDiscoMucs(IQEventArgs e, AutoResetEvent reset, List<Jid> list) { if (e.IQ.Error == null) { var items = (DiscoItems)e.IQ.Query; foreach (var item in items.GetDiscoItems()) { // no locking required, these callbacks are sequential list.Add(item.Jid); } } e.Handled = true; reset.Set(); }