Groovy is supposed to be a superset of Java but there are situations where that isn't true. For one thing, the syntax which initializes an array in Java ({ 1, 2, 3 }
) is syntactically ambiguous with something groovy made up called "closures" that I am not going to explain, but only if the array has a single element. If there are multiple elements the syntax is not ambiguous and things are fine
Because of this I passed a closure to something written in Java that expected an array of strings BUT IT DID NOT THROW AN EXCEPTION???????
This took an infuriating amount of time to debug