--- old/src/java.base/share/classes/java/lang/reflect/AccessibleObject.java 2018-05-01 00:23:02.000000000 +0800 +++ new/src/java.base/share/classes/java/lang/reflect/AccessibleObject.java 2018-05-01 00:23:02.000000000 +0800 @@ -566,7 +566,6 @@ throw new AssertionError("All subclasses should override this method"); } - // Shared access checking logic. // For non-public members or members in package-private classes, @@ -676,4 +675,13 @@ } return printStackWhenAccessFails; } + + /** + * Returns the root AccessibleObject; or null if this object is the root. + * + * All subclasses override this method. + */ + AccessibleObject getRoot() { + throw new InternalError(); + } }