Given the void foo(Boolean... bars) function, the value of bars behaves very differently from what it apparently should be on the following function calls:
- foo(), 
bars = Boolean[0] - foo(null), 
bars = null - foo(null, null), 
bars = Boolean[2] { null, null } 
Why does calling foo(null) yields bars = null instead of Boolean[1] { null }?
This was reproduced on Java 8.