The change in JDK-8007113 made AnnotatedElement.isDefaultMethod a default method. This allowed numerous concrete implementation of the same logic to be removed. However, with the current behavior of javac in JDK 8 under sources levels before 8, this has de facto side effect of removing isAnnotationPresent from classes that implemented it in JDK 5/6/7, potentially causing compatibility issues for parties doing cross compiles *without* setting the bootclasspath as recommend. See
for one example.