Conversão Safe String para BigDecimal

Estou tentando ler alguns valores BigDecimal da seqüência de caracteres. Digamos que eu tenho essa String: "1.000.000.000.999999999999999" e quero obter um BigDecimal. Qual é a maneira de fazer isso?

Primeiro de tudo, eu não gosto das soluções usando substituições de string (substituindo vírgulas etc.). Eu acho que deveria haver algum formatador limpo para fazer esse trabalho para mim.

Eu encontrei uma classe DecimalFormatter, no entanto, como ela opera através do dobro - enormes quantidades de precisão são perdidas.

Então, como posso fazer isso?

questionAnswers(9)

yourAnswerToTheQuestion