Class.metaClass.static.getAt = { args -> delegate.newInstance(*args) } class Pair { int a, b Pair(int a, int b) { this.a = a this.b = b } String toString () { "$a, $b" } } Pair[0,10]