? new BigDecimalPatternFormat(pattern, getLocale(locale), precision, rounding, decimalSeparator, groupingSeparator)
: new BigDecimalFormat(impliedDecimalSeparator, precision, getLocale(locale));
} else if (clazz == BigInteger.class) {
return new BigIntegerFormat();
} else if (clazz == String.class) {
return new StringFormat();
} else if (clazz == Date.class) {
return new DatePatternFormat(pattern, timezone, getLocale(locale));
} else if (clazz == char.class || clazz == Character.class) {
return new CharacterFormat();
} else if (clazz == boolean.class || clazz == Boolean.class) {