Class.newInstance since it violates the general checked exception contract.
The Class.newInstance method knowingly violates the checked exception language checking and has done so for years.
As part of the general deprecation review taking place in JDK 9, this method should also be deprecated.
Deprecate the method.
--- a/src/java.base/share/classes/java/lang/Class.java Fri Apr 15 10:14:57 2016 -0700 +++ b/src/java.base/share/classes/java/lang/Class.java Mon Apr 18 18:00:41 2016 -0700 @@ -470,7 +470,7 @@ * expression with an empty argument list. The class is initialized if it * has not already been initialized. * - * <p>Note that this method propagates any exception thrown by the + * @deprecated This method propagates any exception thrown by the * nullary constructor, including a checked exception. Use of * this method effectively bypasses the compile-time exception * checking that would otherwise be performed by the compiler. @@ -500,6 +500,7 @@ * of this class. */ @CallerSensitive + @Deprecated(since="9") public T newInstance() throws InstantiationException, IllegalAccessException