Задачу решила, но не поняла что делает программа. Также не поняла, почему в какой-то момент стало возможным ссылаться из статического метода в не статический. Строка for (StackTraceElement element : Thread.currentThread().getStackTrace()) вообще не понятна И зачем в конце main(null);