Desativar mascara e ativar, da NullPointer

Boa noite

Estou com um problema com o JFormattedTextField + MaskFormatter, pois ao dar um jFormattedTextField.setFormatterFactory(null); ele funciona desativando a máscara, mas ao dar um

jFormattedTextFieldDataDeEntrada.getFormatter().install(jFormattedTextFieldDataDeEntrada); para ativar ele da NullPointer.

se eu pego e faco jFormattedTextFieldDataDeEntrada = new JFormattedTextField(mascara); ele nao funciona

jFormattedTextFieldDataDeEntrada = new javax.swing.JFormattedTextField(FormataCampos.formataCampos("##/##/####")); // retorna um MASKFORMATTER com o formato passado
jFormattedTextFieldDataDeEntrada.setFormatterFactory(null);
jFormattedTextFieldDataDeEntrada.setText(""+corda.getCordaDataEntrada());
jFormattedTextFieldDataDeEntrada.getFormatter().install(jFormattedTextFieldDataDeEntrada);
Exception occurred during event dispatching:
java.lang.NullPointerException
	at br.unisul.pcc.view.JanelaCadastrarCorda.jRadioButtonEntradaMouseClicked(JanelaCadastrarCorda.java:603)
	at br.unisul.pcc.view.JanelaCadastrarCorda.access$2(JanelaCadastrarCorda.java:599)
	at br.unisul.pcc.view.JanelaCadastrarCorda$3.mouseClicked(JanelaCadastrarCorda.java:230)
	at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.Dialog$1.run(Unknown Source)
	at java.awt.Dialog$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at br.unisul.pcc.view.JanelaCadastrarCorda.<init>(JanelaCadastrarCorda.java:47)
	at br.unisul.pcc.view.JanelaCadastrarCorda$5.run(JanelaCadastrarCorda.java:624)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Se você não tem um FormatterFactory, como espera que o método getFormatter() te retorne alguma coisa? É o fomatterfactory que cria o Formatter retornado por esse método.

E depois que seto como NULL, tem como criar ele de novo (ele eh um tipo abstrato, como instanciaria ou pegaria uma instancia do MaskFormatter) ???