I wish Java had done more backwards comparability breakage. I wonder if we'd see the same issues if Java eliminated null in exchange for a Option/Maybe style monad and if generic types were saved instead of erased at compile time.
Java 9 is not fully compatible with Java 8. So we will soon see first hand if doing more backward compat breakage, for good they told, will be accepted or not. I predict there will be an internet outrage when Java 9 will be out.