--- old/src/java.base/share/classes/java/lang/reflect/Field.java 2020-01-27 10:49:52.000000000 -0800 +++ new/src/java.base/share/classes/java/lang/reflect/Field.java 2020-01-27 10:49:52.000000000 -0800 @@ -724,7 +724,9 @@ *

If the underlying field is final, the method throws an * {@code IllegalAccessException} unless {@code setAccessible(true)} * has succeeded for this {@code Field} object - * and the field is non-static. Setting a final field in this way + * and the field is non-static and its declaring class is not + * a {@linkplain Class#isHiddenClass() hidden} class. + * Setting a final field in this way * is meaningful only during deserialization or reconstruction of * instances of classes with blank final fields, before they are * made available for access by other parts of a program. Use in