2 A method that returns either Boolean.TRUE, Boolean.FALSE or null is an accident waiting to happen.
3 This method can be invoked as though it returned a value of type boolean, and
4 the compiler will insert automatic unboxing of the Boolean value. If a null value is returned,
5 this will result in a NullPointerException.