The direction of Java is broken because they committed to maintaining backward compatibility. This means that the broken and defective scenarios will forever be allowed in Java.
All new Java language features are also severely limited due to the bad design choices from the past which they must forever play nicely with.
Lastly, when Java tries to enhance itself by adding a capability (such as the new switch) the old capability remains so the combination of all these features leads to Scala-land (too many ways to do the same thing).