It's still overengineered in comparison to Typescript or similar more loose languages. The reasoning is a lot of the now senior developers and principals never moved on (I did - I use Typescript now) to use new techniques, sticking to Java 8 syntax. As a consequence bad design (by modern standards) is still prolific because the scene now has a large number of neck beards vs a younger and more receptive to change audience.