Tem como JFormattedTextField com máscara aceitar um texto pela metade?

Saudações amigos, eis a minha situação: Tenho um JFormattedTextField ao qual eu atribuo a seguinte máscara para telefone:

MaskFormatter mascaraTelefone = new MaskFormatter("(##) # #### ####");
mascaraTelefone.setPlaceholderCharacter(’_’);

Esse máscara com 9 dígitos é para poder colocar os número celulares, porém se eu preencher com telefone fixo com apenas 8 dígitos, o JFormattedTextField volta a ficar nulo.
E existem mais situações em que vou precisar de uma máscara que se possa preencher somente parte dela e não obrigatoriamente ela toda. Alguém sabe como posso fazer essa máscara aceitar um texto pela metade ?

Gostaria que a máscara aceitasse tanto:
(99) 9 9999 9999 --celular
quanto:
(99) 9 9999 999 --fixo