When you have millions of LOC in Java and multiple teams around the globe on the same project. Even new Java features can introduce issues (Streams, Optionals, CompletableFutures), it takes time to accommodate and work out concise style. It takes time. Also you need to sell it somehow to management, "expressive, multi-paradigm" are kinda bad points. And I guarantee that not many developers will be happy to learn new language just to have nullability (java have nullability annotations though)/expressiveness/dataclasses (lombok)/sealed classes (poor java experience), because everything else is covered by Spring or other library and there is no point in replacing it, because benefits are too small, and codebase is too huge.