I completed this task, but I still don't understand why the Thread.sleep line has to come before the 'if' statement in the 'true' block of the while loop in the CountUpRunnable class for the 2.5 seconds requirement to be met.
private int countupIndex = 1;

        public void run() {
            try {
                while (true) {
                    System.out.println(toString());
                    countupIndex += 1;
                    Thread.sleep(500);
                    if (countupIndex == 6) return;

                }
            } catch (InterruptedException e) {
            }
        }