Understanding subtle new behaviours of JDK 7