Como interromper ação de um Timer?

Ola pessoal… estou a fazer um programa… onde, quando o programa detectar uma colisão… o timer deve ser interrompido… tentei usar um stop() dentro do if… sem resultado… o q devo fazer??

 public void moverPessoa(final GerenciadorDesenho desenho, final int posicaoArray){
	   Timer timer = new Timer(60, new ActionListener(){
		   public void actionPerformed(ActionEvent e){
               if(getAgente().detectaColisao()){
            	   decidirDirecao();
            	   setRoda(false);
            	   
           	  //aqui é onde o timer deve ser interrompido.   	  
               }else{
		   	   setX(getAgente().getX() + getDx());
			   setY(getAgente().getY()+ getDy());
			   getAgente().setX(getX());
			   getAgente().setY(getY());
			   desenho.repaint();}
		   }
	   });
	   timer.start();

   }

Cara, pelo q eu entendi da documentação, não dá pra parar um Timer, só as Tasks dele…

Mas acho q dá pra implementar seu proprio timer, pegar a Thread dele e dar um interrupt \o/

Mas como vc fez este if?
Pq poderia usar um

timer.stop();

Detalhes da API: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/Timer.html

Caso queira parar tudo poderia tentar um System.exit(0);

//Para o time e fecha timer.stop(); System.exit(0);

Abraço t+…