private void UpdateAndShowGroups() { if (InvokeRequired) { BeginInvoke(new MethodInvoker(UpdateAndShowGroups)); } else { var ownGroups = _zyre.OwnGroups(); _ownGroups.Clear(); foreach (var ownGroup in ownGroups) { _ownGroups.Add(new Group(ownGroup)); } var peerGroups = _zyre.PeerGroups(); _peerGroups.Clear(); foreach (var peerGroup in peerGroups) { _peerGroups.Add(new Group(peerGroup)); } peerBindingSource.ResetBindings(false); ownGroupBindingSource.ResetBindings(false); peerGroupBindingSource.ResetBindings(false); } }