code: func (ms *ManagedState) getAccount(addr common.Address) *account {
  	if account, ok := ms.accounts[addr]; !ok {
  		so := ms.GetOrNewStateObject(addr)
  		ms.accounts[addr] = newAccount(so)
  	} else {
  		// Always make sure the state account nonce isn't actually higher
  		// than the tracked one.
  		so := ms.StateDB.getStateObject(addr)
  		if so != nil && uint64(len(account.nonces))+account.nstart < so.Nonce() {
  			ms.accounts[addr] = newAccount(so)
  		}
  
  	}
  
  	return ms.accounts[addr]
  }
docs: // populate the managed state