The contract stated for ListUtils.transformedList is wrong. The list is not transformed – it decorates the existing list and transforms NEW objects – EXISTING objects are not transformed.
Compare this to the javadoc found in MapUtils.transformedMap:
"This method returns a new map (decorating the specified map) that will transform any new entries added to it. Existing entries in the specified map will not be transformed. "
That little missing piece of information messed me up. Just replace "map" with "list" and append it to the existing LilstUtils javadoc.