List<String> values = ['value1', 'value2'] // Works correctly, prints 'value1' and 'value2' values.each { value -> println(value) } // Doesn't work correctly, prints 'value2' and 'value2' List<Closure> steps = values.collect { value -> return { println(value) } } steps.each { step -> step() } null