Account _loginAccount(AccountLoginB nAccountLoginB, uint nDeviceType)
        {
            Account result_   = null;
            uint    accountId = nAccountLoginB._getAccountId();

            if (mAccounts.ContainsKey(accountId))
            {
                result_ = mAccounts[accountId];
            }
            if (null == result_)
            {
                result_ = nAccountLoginB._createAccount();
                result_._addDeviceType(nDeviceType);
                result_._setAccountMgr(this);
                AccountCreator accountCreator_ = __singleton <AccountCreator> ._instance();

                accountCreator_._runCreate(result_);
                result_.m_tRunLogin();
                mAccounts[accountId] = result_;
            }
            return(result_);
        }