Друзья не понимаю, откуда invoke появились? Почему он не выходит из цикла , когда доходит до метода main?
package com.javarush.task.task09.task0904;

/*
Стек-трейс длиной 10 вызовов
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        int stackTraceLength = method1().length - method10().length + 1;
        System.out.println(stackTraceLength);
    }

    public static StackTraceElement[] method1() {
        return method2();
    }

    public static StackTraceElement[] method2() {
        return method3();//напишите тут ваш код
    }

    public static StackTraceElement[] method3() {
        return method4();//напишите тут ваш код
    }

    public static StackTraceElement[] method4() {
        return method5(); //напишите тут ваш код
    }

    public static StackTraceElement[] method5() {
        return method6();//напишите тут ваш код
    }

    public static StackTraceElement[] method6() {
        return method7();//напишите тут ваш код
    }

    public static StackTraceElement[] method7() {
        return method8();//напишите тут ваш код
    }

    public static StackTraceElement[] method8() {
        return method9();//напишите тут ваш код
    }

    public static StackTraceElement[] method9() {
        return method10();
    }

    public static StackTraceElement[] method10() {
        StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
        for (StackTraceElement element : stackTraceElements)
        {
            System.out.println(element.getMethodName());
        }
        return Thread.currentThread().getStackTrace();
    }
}
getStackTrace
method10
method9
method8
method7
method6
method5
method4
method3
method2
method1
main
invoke0
invoke
invoke
invoke
main
getStackTrace
method10
main
invoke0
invoke
invoke
invoke
main
10