Вы можете взглянуть на спецификацию проблем с распаковкой, ваша ситуация описана здесь section 5.1.8 Распаковка конверсии : Если r равно нулю, распаковка конвертации выдает исключение NullPointerException
Это означает, что ваш if (/ * логический объект * /) никогда не будет распакован в логический тип примитива и, следовательно, выдает NPE, потому что вы делаете недопустимый if(null)
.
Кстати, распаковка будет работать, если у вас было:
final Boolean booleanTest = new Boolean (true);
if (booleanTest) {
// Do something
}