Groovy recursively copying properties plus applying calls per property
===

Using Groovy 2.0 (beta)....

Got a bean that has both simple (i.e. primitive) and complex (i.e. other beans as children) properties.  Want to recursively copy properties from a bean instance into a new bean and apply function calls per property.  For example, a property might contain an expression (i.e. something representing a value that hasn't been evaluated) and during the "clone"/"copy" phase I want to apply an evaluation so the new bean gets a concrete value.

New to Groovy and my stomach tells there is a simple way to handle this.  Beans are written in Groovy.