title: InstantiationException when Mapping a Class with Abstract Type Member in Dozer
body: <p>I'm new to dozer and I'm trying to create a map for ClassA and ClassB</p>
  
  <pre><code>public class ClassA {
      ClassC c;
  
      public ClassC getC() {
          return c;
      }
      public void setC(ClassC c) {
          this.c = c;
      }
  }
  
  public class ClassB {
      private String x;
  
      public String getX() {
          return x;
      }
      public void setX(String x) {
          this.x = x;
      }
  }
  
  
  public abstract class ClassC {
      private String x;
  
      public String getX() {
          return x;
      }
      public void setX(String x) {
          this.x = x;
      }
  }
  
  
  public class ClassD extends ClassC {
  }
  </code></pre>
  
  <p>I tried the mapping below</p>
  
  <pre><code>&lt;mapping&gt;
      &lt;class-a&gt;ClassA&lt;/class-a&gt;
      &lt;class-b&gt;ClassB&lt;/class-b&gt;
  
      &lt;field&gt;
          &lt;a&gt;c.x&lt;/a&gt;
          &lt;b&gt;x&lt;/b&gt;
      &lt;/field&gt;
  &lt;mapping&gt;
  </code></pre>
  
  <p>classC is an abstract class and ClassD is a concrete. When I map A->B there is no problem but when I map B->A, I'm getting InstantiationException.
  I suspect that the dozer is trying to instantiate abstract class classC. Any attribute to tell dozer to use ClassD? Please help.</p>
  
  <p>[<strong>EDIT1</strong>] - Added the full class declaration.</p>