A Java Bean to Java Bean mapper that recursively copies data from one object to another