use "functional" def testFunctionalChain() { data = [1,2,3,4,5,6,7] result = chain(data, ::filter, def(x) = x <= 4, ::sortby, def(x) = -x, ::map, def(x) = x * 2, ) assertEquals([8,6,4,2], result) }