JEP 500 and Final Field Integrity: How Java Is Closing a Reflection Loophole That’s Been Open Since JDK 1.0