title: Object Conversion Pattern
body: <p>I have several different classes coming from external sources (unmodifiable) that represent the same concept.  For example <code>Address</code>.  I have <code>com.namespace1.Address</code> (with fields <code>houseNum</code>, <code>street</code>, <code>city</code>), <code>com.namespace2.Address</code> (with fields <code>h</code>, <code>s</code>, <code>c</code>), <code>namespace3.com.CoolAddress</code> (with fields <code>house_num</code>, <code>street</code>, <code>city</code>).  </p>
  
  <p>The problem is that certain web services I use require certain Address object types so I am required to create a <code>com.namespace1.Address</code> given a <code>namespace3.com.CoolAddress</code>.  The fields are easy enough to map but I'm looking for a pattern on how to do it.</p>
  
  <p>From my point of view, an instance object <code>AddressConverter</code> doesn't make sense as there is no state (only behaviour) and when classes only have behaviour it boils down to static methods in a utility class.  In the long term, anytime I need to map new objects to one another, I have one place to add/modify/remove methods.  How it's done might change, but I know where the code sits (in once place) and can change the mapping when I need to.</p>
  
  <p>Thoughts?</p>