protected
члены по-прежнему могут быть доступны по коду из того же пакета. Я предполагаю, что класс был не финальным в какой-то более ранней (возможно, даже не публичной) версии, затем был сделан финальным, и защищенный метод оставался таким, потому что в том же пакете может быть код, который его использует (а не изменился на пакет приватный просто потому, что никто не увидел выгоды от этого).