このコードは、短絡論理 (&& や ||) ではなく非短絡論理 (& や |) を使用していると思われます。 さらに、左辺値によって右辺を評価したくない (例外のスローや演算が高くつく副作用があるため) と思っているのかもしれません。 非短絡論理は、左辺の結果がわかっていて推論できるときでも、両側の式が評価されます。 左辺が右辺の評価でエラーを発生させるケースをガードするなら効率が悪く、エラーになる可能性があります。

詳細については、the Java Language Specification を参照してください。