public void Detach(RiotAccount account)
 {
   if (!this.accounts.Contains(account))
     return;
   if (account == this.Active)
     this.SetActive(Enumerable.FirstOrDefault<RiotAccount>((IEnumerable<RiotAccount>) this.accounts, (Func<RiotAccount, bool>) (x =>
     {
       if (x != account)
         return x.RealmId == account.RealmId;
       else
         return false;
     })) ?? Enumerable.FirstOrDefault<RiotAccount>((IEnumerable<RiotAccount>) this.accounts));
   account.CanConnect = false;
   this.accounts.Remove(account);
   account.Close();
   this.OnAccountRemoved(account);
 }
 public void Detach(RiotAccount account)
 {
     if (!this.accounts.Contains(account))
     {
         return;
     }
     if (account == this.Active)
     {
         this.SetActive(this.accounts.FirstOrDefault<RiotAccount>((RiotAccount x) =>
         {
             if (x == account)
             {
                 return false;
             }
             return x.RealmId == account.RealmId;
         }) ?? this.accounts.FirstOrDefault<RiotAccount>());
     }
     account.CanConnect = false;
     this.accounts.Remove(account);
     account.Close();
     this.OnAccountRemoved(account);
 }