Почему в правильном решении везде стоит 2? И не совсем понятно как работает конструкция Thread.currentThread().getStackTrace()[1].getMethodName();