private Money parseNumberAndCurrencyCode(final String amount, final String code) {
final String currencyCode = code.toUpperCase();
try {
Currency.getInstance(currencyCode.toUpperCase());
} catch (final IllegalArgumentException e) {
throw new TextEntryParseException("Invalid currency code " + currencyCode, e);
}
try {
final Money money = new Money(DEFAULT_NUMBER_FORMAT.parse(amount).doubleValue(), currencyCode);
return money;
} catch (final ParseException e) {
throw new TextEntryParseException("Invalid money entry", e);
}
}