Static type Groovy vs Strong type Java