if (InsufficientFunds.CODES.contains(category_code))
throw new InsufficientFunds(response, body, payload);
else if (Declined.CODES.contains(category_code))
throw new Declined(response, body, payload);
else if (DuplicateAccountEmailAddress.CODES.contains(category_code))
throw new DuplicateAccountEmailAddress(response, body, payload);
else if (BankAccountVerificationFailure.CODES.contains(category_code))
throw new BankAccountVerificationFailure(response, body, payload);
throw new APIError(response, body, payload);
}