При проверке валидатором выкидывает сообщение UNKNOWN_ERROR. Если убрать строку Thread.currentThread().interrupt(), то валидатор отрабатывает и дает замечание по пункту 2. "После вызова uncaughtException нужно прервать нить, которая бросила исключение" не верно. Подскажите, пожалуйста в чем проблемма Текст программы ниже:
package com.javarush.task.task25.task2512;

import java.util.*;
/*
Живем своим умом
*/
public class Solution implements Thread.UncaughtExceptionHandler {

    @Override
    public void uncaughtException  (Thread t, Throwable e) {
         List<String> list = new ArrayList<>();
         list.add(e.toString());
         Throwable e2 = e;
             while (true) {
                 e2 = e2.getCause();
                 if (e2 == null) break;
                 else list.add(e2.toString());

             }


         Collections.reverse(list);

         for (String s : list) System.out.println(s);

           Thread.currentThread().interrupt();
    }

    public static void main(String[] args) {

        Thread t = new Thread(new Runnable()
        {
            public void run(){
               //System.out.println("Thread ...  started");
               throw new RuntimeException("ABC", new RuntimeException("DEF", new IllegalAccessException("GHI")));

            }

        });

        t.setUncaughtExceptionHandler(new Solution());
        t.start();

    }
}