public async void Disconnect(Client client) { if (client == null) return; Client dummy; client.Disconnect(); await client.Save(); while (!Clients.TryRemove(client.Account.AccountId, out dummy) && Clients.ContainsKey(client.Account.AccountId)); client.Dispose(); }