When converting java to groovy it is quite often to get
new Runnable() {
public void run() {
}
}
flagged in the editor with "Cannot instantiate interface" - note that it wworks only for interfaces, not for abstract classes!
At this point we could provide an intelligent quick fix that would convert one-method interface instantiation to closure,
and many methods to map as MyInterface:
MyInterface i = [m1: {}, .. mn : {}] as MyInterface
Note that in case of overloading we'd have to put the methods with List arguments and dispatch at runtime.