public static async Task <BankAccount> BeneficiaryUniquenessChecker(
            BankAccount beneficiaryAccount,
            IAccountUniquenessChecker accountUniquenessChecker)
        {
            var account =
                await accountUniquenessChecker.AccountUniquenessChecker(beneficiaryAccount.BankAccountHolder,
                                                                        beneficiaryAccount.BankAccountDetails);

            if (account.BankAccountId is null)
            {
                throw new BusinessRuleValidationException(
                          "The beneficiary's bank account was not found",
                          BankAccountStatusType.BankAccountNotFound,
                          BusinessRuleValidationEnumeration.ERROR_BENEFICIARY_ACCOUNT_NOT_FOUND);
            }

            if (account.Canceled)
            {
                throw new BusinessRuleValidationException(
                          "The beneficiary's bank account is canceled",
                          BankAccountStatusType.Canceled,
                          BusinessRuleValidationEnumeration.ERROR_BENEFICIARY_ACCOUNT_IS_CANCELED);
            }

            return(account);
        }