https://medium.com/@the_code_chronicles/getting-started-with-mapstruct-a-beginners-guide-to-java-object-mapping-ca8dad33c687