Возможно ли, что класс, для которого вызывается метод, имеет значение null, и что компилятор оптимизировал вызов функции, так что байт-код считывает, по сути:
Grade myGrade = myClass.grade;
В компиляторе есть несколько хитрых вещей, позволяющих определить, какой строке исходного кода соответствует строка, и, возможно, выбрал строку 86 getGrade.
Если должно быть легко доказать, является ли класс нулевым или нет.