Java: espere a que TimerTask se complete antes de continuar la ejecución

Estoy teniendo un poco de un problema molesto. En este momento, tengo un fragmento de código que inicia un hilo, establece un temporizador dentro de ese hilo y luego sale de ese hilo y continúa con su vida útil. Mi intención aquí era que el programa esperara a que TimerTask se completara antes de continuar con el flujo de código. Sin embargo, obviamente, la configuración de una nueva TimerTask no detiene la ejecución para esperar a que el temporizador se agote.

¿Cómo configuro esto para que mi código llegue a TimerTask, espere a que TimerTask caduque y luego continúa? ¿Debería incluso estar usando un temporizador? Busqué una solución en todas partes, pero parece que no encuentro una.

timer = new Timer();
    Thread t = new Thread(new Runnable(){
        boolean isRunning = true;
        public void run() {
            int delay = 1000;
            int period = 1000;
            interval = 10;
            timerPanel.setText(interval.toString());

            //Scheduling the below TimerTask doesn't wait
            //for the TimerTask to finish before continuing
            timer.scheduleAtFixedRate(new TimerTask() { 

                public void run() {
                    timerPanel.setText(setInterval().toString());
                }
            }, delay, period);

            System.out.println("Thread done.");
        }
    });
    t.start();

    try {
        t.join(); //doesn't work as I wanted
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    endTask();

Gracias por adelantado.

EDIT: Perdón por la confusión sobre la tarea repetida. Necesito que la tarea se repita porque es un temporizador de cuenta regresiva que pulsa cada segundo de 10 a 0. La función setInterval () eventualmente cancela el temporizador. Aquí está el código relevante:

private final Integer setInterval() {
    if (interval == 1)
        timer.cancel();
    return --interval;
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta