--- old/src/java.base/share/classes/java/lang/reflect/Executable.java 2018-05-01 00:23:05.000000000 +0800 +++ new/src/java.base/share/classes/java/lang/reflect/Executable.java 2018-05-01 00:23:05.000000000 +0800 @@ -56,11 +56,6 @@ abstract byte[] getAnnotationBytes(); /** - * Accessor method to allow code sharing - */ - abstract Executable getRoot(); - - /** * Does the Executable have generic information. */ abstract boolean hasGenericInformation(); @@ -602,7 +597,7 @@ if ((declAnnos = declaredAnnotations) == null) { synchronized (this) { if ((declAnnos = declaredAnnotations) == null) { - Executable root = getRoot(); + Executable root = (Executable)getRoot(); if (root != null) { declAnnos = root.declaredAnnotations(); } else {