Quelqu'un peut me donner une raison pourquoi la 3e instructions du bloc de code suivant cause un NullPointerException ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Integer i = null; //OK
i = false ? 5 : null; //OK
i = false ? 10 : (false ? 15 : null); //NullPointerException
Simple connaissance personnel ? Ou est-ce logique ?