refactoring BeanUtils