When checking preconditions in Java code, it is very common to check whether some method argument is null, and throw an exception if it is. There are two equally valid exceptions that may be used in this case: IllegalArgumentException and NullPointerException. The decision to use one over the other is often the cause of holy wars, and can consume a great deal of productivity on internal mailing-lists and blogs. (245 Words)