title: Object deep cloning without Java reflection
body: <p>What are the possibilities of doing deep object cloning without Java reflection? I have used Object cloning libraries that use reflection but AppEngine does not allow to do that. </p>
  
  <p>So my existing application that worked with Tomcat not does not work. </p>
  
  <p><strong>Update:</strong></p>
  
  <p>Dozer library seems to be the best bet: </p>
  
  <pre><code>Mapper mapper = new DozerBeanMapper();
  DestinationObject destObject =  mapper.map(sourceObject, DestinationObject.class);
  </code></pre>
  
  <p>Question would be if I don't need custom mapping can I just do the above as it is? </p>
  
  <p>For example:</p>
  
  <pre><code>Cat cat = new Cat();
  
  Mapper mapper = new DozerBeanMapper();
  Cat newCat =  mapper.map(cat, Cat.class);
  </code></pre>
  
  <p><strong>Update:</strong></p>
  
  <p>When I run my app with Dozer I get this error:</p>
  
  <pre><code>Caused by: java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.contains(Ljava/lang/String;Ljava/lang/String;)Z
      at org.dozer.util.ResourceLoader.getResource(ResourceLoader.java:53)
      at org.dozer.util.DefaultClassLoader.loadResource(DefaultClassLoader.java:44)
      at org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:116)
      at org.dozer.config.GlobalSettings.&lt;init&gt;(GlobalSettings.java:67)
      at org.dozer.config.GlobalSettings.&lt;clinit&gt;(GlobalSettings.java:46)
  </code></pre>
  
  <p>Looks like I am missing something, although I added Dozer using Maven.</p>