docs: def get_income_accounts(self) -> List[Account]:
          """
          Returns all income accounts for this security.
          Income accounts are accounts not under Trading, expressed in currency, and
          having the same name as the mnemonic.
          They should be under Assets but this requires a recursive SQL query.
          """
          # trading = self.book.trading_account(self.security)
          # log(DEBUG, "trading account = %s, %s", trading.fullname, trading.guid)
  
          # Example on how to self-link, i.e. parent account, using alias.
          # parent_alias = aliased(Account)
              # .join(parent_alias, Account.parent)
          # parent_alias.parent_guid != trading.guid
  
          query = (
              self.book.session.query(Account)
              .join(Commodity)
              .filter(Account.name == self.security.mnemonic)
              .filter(Commodity.namespace == "CURRENCY")
              # .filter(Account.type != "TRADING")
              .filter(Account.type == AccountType.income.value)
          )
          # generic.print_sql(query)
          return query.all()