Como cancelar a execução de um SwingWorker?

Atualmente, tenho dois threads do SwingWorker fazendo o trabalho em segundo plano. Se ocorrer uma exceção, o método para de funcionar, mas o thread ainda está executand

Como faço para interromper a execução e matar o thread dodoInBackground() se ocorrer uma exceção?

this.cancel(true) não destrua / feche o tópico. Como posso conseguir isso?

@Override
protected Boolean doInBackground() throws Exception {
        try {
            while (true) {
                //some code here                   
                return true;
            }
        } catch (Exception e) {       
            this.cancel(true); //<-- this not cancel the thread               
            return false;
        }
    }

Eu vejo esses tópicos na depuração do Netbean

'AWT-EventQueue-0' em execução
'AWT-Windows' em execução
'SwingWorker-pool-1-thread-1' em execução
'SwingWorker-pool-1-thread-2' em execução

//*em execução = in execution

questionAnswers(6)

yourAnswerToTheQuestion