https://www.javacodegeeks.com/2017/09/make-groovy-objects-bullet-proof.html
Make Your Groovy Objects More Bullet-Proof