I am debugging code that has in it expr1 & expr2 where expr1 has a side effect that affects expr2 evaluation result. I suspect that
expr1 & expr2
expr1
expr2
JLS 3rd edition section 15.7 talks about evaluation order from left to right but asks not to rely on it crucially (except for short circuit ones)