Consider the following:
void test(Type[] array) {
array.sort(true, Comparator.<Type>comparing({ it.foo }).reversed())
}
Type inferencing and syntax highlighting break down at "comparing" due to supplying one type argument for a method that expects two.

java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at org.eclipse.jdt.groovy.search.GenericsMapper.gatherGenerics(GenericsMapper.java:127)
at org.eclipse.jdt.groovy.search.TypeLookupResult.resolveTypeParameterization(TypeLookupResult.java:248)
at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.lookupExpressionType(TypeInferencingVisitorWithRequestor.java:2750)
at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.handleSimpleExpression(TypeInferencingVisitorWithRequestor.java:2023)
at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.handleSimpleExpression(TypeInferencingVisitorWithRequestor.java:2028)
Consider the following:
Type inferencing and syntax highlighting break down at "comparing" due to supplying one type argument for a method that expects two.