anchor.diff:    finally
       LContainer.Free;
     end;
  -
   end;
   
   procedure TCTRLWallet.SetAccountsMode(AMode: TCTRLWalletAccountsMode);
  
positive.code:     LContainer.Clear;
      try
        // load selected user accounts
        for i := Low(AccountNumbers) to High(AccountNumbers) do
        begin
          acc := safeBox.Account(AccountNumbers[i]);
          if keys.IndexOfAccountKey(acc.accountInfo.accountKey) >= 0 then
          begin
            LContainer.Add(acc);
          end;
        end;
      finally
        safeBox.EndThreadSave;
  
negative.code: begin
    selectedAccounts := GC.AddObject(TList<cardinal>.Create) as TList<cardinal>;
  
    if ASelection.RowCount > 0 then begin
      for row := ASelection.Row to (ASelection.Row + ASelection.RowCount - 1) do begin
        if (TAccountComp.AccountTxtNumberToAccountNumber(FAccountsGrid.Rows[row].Account, acc)) then
          selectedAccounts.Add(acc);
      end;
      FOperationsDataSource.Accounts := selectedAccounts.ToArray;
      FOperationsGrid.Caption.Text := IIF(ASelection.RowCount = 1, Format('Account: %s', [TAccountComp.AccountNumberToAccountTxtNumber(selectedAccounts[0])]), 'Selected Accounts');
      FOperationsGrid.RefreshGrid;
    end else
      OperationsMode := womAllAccounts;
  end;
  
  procedure TCTRLWallet.OnOperationSelected(Sender: TObject; constref ASelection: TVisualGridSelection);
  