String category_code = (String) payload.get("category_code");
// http://stackoverflow.com/questions/3434466/creating-a-factory-method-in-java-that-doesnt-rely-on-if-else
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);