### Question:
LocaleParser { @Nullable public static Number parse (final String sStr, @Nonnull final Locale aParseLocale) { return parse (sStr, aParseLocale, (Number) null); } private  LocaleParser(); @Nullable static Number parse(final String sStr, @Nonnull final Locale aParseLocale); @Nullable static Number parse(final String sStr, @Nonnull final Locale aParseLocale, @Nullable final Number aDefault); @Nullable static Number parse(@Nullable final String sStr, @Nonnull final NumberFormat aNF); @Nullable static Number parse(@Nullable final String sStr, @Nonnull final NumberFormat aNF, @Nullable final Number aDefault); static float parseFloat(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final float fDefault); static float parseFloat(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final float fDefault); static double parseDouble(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final double dDefault); static double parseDouble(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final double dDefault); static byte parseByte(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final byte nDefault); static byte parseByte(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final byte nDefault); static int parseInt(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final int nDefault); static int parseInt(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final int nDefault); static long parseLong(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final long nDefault); static long parseLong(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final long nDefault); static short parseShort(@Nullable final String sStr, @Nonnull final Locale aParseLocale, final short nDefault); static short parseShort(@Nullable final String sStr, @Nonnull final NumberFormat aNF, final short nDefault); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr, @Nonnull final Locale aParseLocale); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr,
                                            @Nonnull final Locale aParseLocale,
                                            @Nullable final BigDecimal aDefault); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr, @Nonnull final DecimalFormat aNF); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr,
                                            @Nonnull final DecimalFormat aNF,
                                            @Nullable final BigDecimal aDefault); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr, @Nonnull final NumberFormat aNF); @Nullable static BigDecimal parseBigDecimal(@Nullable final String sStr,
                                            @Nonnull final NumberFormat aNF,
                                            @Nullable final BigDecimal aDefault);  }### Answer:
@Test public void testParse () { CommonsAssert.assertEquals (1.1, LocaleParser.parse ("1,1", L_DE).doubleValue ()); CommonsAssert.assertEquals (1.1, LocaleParser.parse ("1.1", L_EN).doubleValue ()); assertNull (LocaleParser.parse ("wir sitzen da und denken nach", L_DE)); assertNull (LocaleParser.parse ("", L_DE)); assertNull (LocaleParser.parse (null, L_DE)); try { LocaleParser.parse ("1", (Locale) null); fail (); } catch (final NullPointerException ex) {} try { LocaleParser.parse ("1", (NumberFormat) null); fail (); } catch (final NullPointerException ex) {} }