fmt
extract the function of getting bean properties to a utility class; extract AbstractBeanCopier from BeanCopier to support the case that some specific property filtering, etc., needs to be done for a particular source/target combo