ここで値が null なのかチェックしていますが、すでに値を利用していたので null である可能性はありません。 値が null なら以前の利用で NullPointerException が発生していたでしょう。 基本的に、この値が null であることを許すのかどうかに関係なく、このコードと以前の値の利用は一致しません。 チェックは冗長か、または以前の値の利用は誤りです。