Почему не работает эта конструкция? System.out.println(stackTraceElements.getMethodName());
package com.javarush.task.task09.task0902;

/*
И снова StackTrace
Написать пять методов, которые вызывают друг друга.
Каждый метод должен возвращать имя метода, вызвавшего его, полученное с помощью StackTrace.


Требования:
1. В классе должно быть 5 методов (метод main не учитывать).
2. Каждый метод должен вызывать следующий: main вызывать method1, method1 вызывать method2 и т.д.
3. Каждый метод должен возвращать имя метода, вызвавшего его.
4. Для получения имени вызвавшего метода, используй метод getMethodName.
*/

public class Solution {
    public static void main(String[] args) {
        method1();
    }

    public static String method1() {
        StackTraceElement[] stackTraceElements=Thread.currentThread().getStackTrace();
        System.out.println(stackTraceElements.getMethodName());
        method2();
        return null;
    }

    public static String method2() {
        method3();
        return null;
    }

    public static String method3() {
        method4();
        return null;
    }

    public static String method4() {
        method5();
        return null;
    }

    public static String method5() {
        return null;
    }
}