docs: def load_cash_balances_with_children(self, root_account_fullname: str):
          """ loads data for cash balances """
          assert isinstance(root_account_fullname, str)
  
          svc = AccountsAggregate(self.book)
          root_account = svc.get_by_fullname(root_account_fullname)
          if not root_account:
              raise ValueError("Account not found", root_account_fullname)
          accounts = self.__get_all_child_accounts_as_array(root_account)
  
          # read cash balances
          model = {}
          for account in accounts:
              if account.commodity.namespace != "CURRENCY" or account.placeholder:
                  continue
  
              # separate per currency
              currency_symbol = account.commodity.mnemonic
  
              if not currency_symbol in model:
                  # Add the currency branch.
                  currency_record = {
                      "name": currency_symbol,
                      "total": 0,
                      "rows": []
                  }
                  # Append to the root.
                  model[currency_symbol] = currency_record
              else:
                  currency_record = model[currency_symbol]
  
              #acct_svc = AccountAggregate(self.book, account)
              balance = account.get_balance()
              row = {
                  "name": account.name,
                  "fullname": account.fullname,
                  "currency": currency_symbol,
                  "balance": balance
              }
              currency_record["rows"].append(row)
  
              # add to total
              total = Decimal(currency_record["total"])
              total += balance
              currency_record["total"] = total
  
          return model