You act as if what op described must be the entirety of their code base. What if pattern matching is just a small part of a larger problem better solved with Java?
It's not so easy to just choose another language; there might be hundreds of thousands of lines of Java already written. In that case it's better make the best of a bad situation by doing something like this, than not even trying.