It appears like an IllegalArgumentException is summoned for if you don't want null to be an allowed value, and the NullPointerException would be executed if you were attempting to use a variable that returns out to be null.
The usually reliable "Effective Java" explains this briefly in Item 42 (first edition), Item 60 (second edition), or Item 72 (third edition) "Favor the use of standard exceptions":
"Arguably, all erroneous method invocations boil down to an illegal argument or illegal state, but other exceptions are standardly used for certain kinds of illegal arguments and states. If a caller passes null in some parameters for which null values are prohibited, convention dictates that NullPointerException be thrown rather than IllegalArgumentException."