Данный код возвращает значения method4 28 Объясните, пожалуйста, почему? Ведь metod4 начинается в строке 27, а вызван из строки 23, откуда 28 берется? Если переделать код на единицы в квадратных скобках System.out.println(elem[1].getMethodName() + " " + elem[1].getLineNumber()); то вернет method5 33 Но ведь Method5 вызывается в 28 строчке, а 33-я строка - это уже getStackTrace(). Решить задачу нетрудно, в какую сторону двигать нумератор - понятно, но понять логику getLineNumber() не могу.