ForTo me it looks like you are reinventing the wheel. There exist several
Several mapping frameworks exist that not only support mappingcomplex mappings between two similar objects, but as well transformations. You should have a look at ModelMapper or Dozer. Both support complex mappings andalso programmatic transformations - see Custom Converters in ModelMapper or Custom Converters in Dozer. For example, you should consider: