The protected constructor of `javax.crypto.Cipher` has been changed to throw `IllegalArgumentException` instead of `NullPointerException` if the supplied arguments are deemed invalid for constructing the `Cipher` object. If the provider argument is null, the constructor will throw `NullPointerException` as before. Both exceptions are now documented in the javadoc specification of the protected constructor.