Dúvida eventos em caixa de texto

Bom dia,

Tenho uma caixa de texto onde os valores digitados serão validados de acordo com determinada regra, que é selecionada em um Radio button.

Meu problema é quando outra opção do Radio é selecionada, eu gostaria de remover o listener da regra anterior, como faço isso?

obrigado

			Barcode barcode = getBarcodeRadioSelection();							
			
			if(barcode.equals(Barcode.GTIN_8)){					
				textBarCode.addListener(SWT.Verify, WidgetsFactory.newInputDigitsListener());
			}else if(barcode.equals(Barcode.GTIN_13)){

			}else if(barcode.equals(Barcode.GTIN_14)){

			}else if(barcode.equals(Barcode.GS1_128)){
				
			}else if(barcode.equals(Barcode.CODE_128A)){
				textBarCode.addListener(SWT.Verify, WidgetsFactory.newInputCode128AListener());
			}else if(barcode.equals(Barcode.CODE_128B)){
				
			}else if(barcode.equals(Barcode.CODE_128C)){
				
			}

Todo método “add___Listener” tem um corrrespondente “remove___Listener”. Entretanto, você vai ter de mudar um pouco o jeito de você trabalhar aqui, porque você está a cada addListener criando um listener novo em folha (exemplo: WidgetsFactory.newInputDigitsListener()) e nesse caso é melhor você guardar isso em uma variável, para que você possa remover com “remove___Listener”.

http://download-llnw.oracle.com/javase/6/docs/api/javax/swing/JTextField.html

EDIT - Desculpe, não vi que era SWT. Mas isso também deve se aplicar em SWT (existe um método “remove” para cada método “add”). Questão de olhar a documentação.