public void updateBalance(List <AEPair> aeChanges)
        {
            decimal newBalance;

            foreach (AEPair pair in aeChanges)
            {
                if (pair.AccountID > SpclAccount.NULL && pair.EnvelopeID > SpclEnvelope.NOENVELOPE)
                {
                    newBalance = DBquery.getAccBalance(pair.AccountID);
                    this.updateBalanceRecurse(this.accountRootNode, pair.AccountID, SpclEnvelope.NULL, newBalance);

                    newBalance = DBquery.getAEBalance(pair.AccountID, pair.EnvelopeID);
                    this.updateBalanceRecurse(this.accountRootNode, pair.AccountID, pair.EnvelopeID, newBalance);
                    this.updateBalanceRecurse(this.envelopeRootNode, pair.AccountID, pair.EnvelopeID, newBalance);

                    newBalance = DBquery.getEnvBalance(pair.EnvelopeID);
                    this.updateBalanceRecurse(this.envelopeRootNode, SpclAccount.NULL, pair.EnvelopeID, newBalance);
                }
                else if (pair.AccountID > SpclAccount.NULL)
                {
                    newBalance = DBquery.getAccBalance(pair.AccountID);
                    this.updateBalanceRecurse(this.accountRootNode, pair.AccountID, SpclEnvelope.NULL, newBalance);
                }
            }

            this.accTLV.Refresh();
            findNewErrors();
        }