Verificar se o valor booleano nulo é verdadeiro resulta em exceção

Eu tenho o seguinte código:

Boolean bool = null;

try 
{
    if (bool)
    {
        //DoSomething
    }                   
} 
catch (Exception e) 
{
    System.out.println(e.getMessage());             
}

Por que meu check-up na variável booleana "bool" resulta em uma exceção? Não deveria simplesmente passar da declaração if quando "vê" que não é verdade?Quando eu removo a instrução if ou check up se NÃO é nulo, a exceção desaparece.

questionAnswers(6)

yourAnswerToTheQuestion