title: ModelMapper - Failed to instantiate instance of destination
body: <p>I'm working with mongodb so I'm decoupling entities from presentation layer creating DTOs (with hibernate-validator annotations).</p>
  
  <pre><code>public abstract class UserDTO {
  
      private String id;      
      @NotNull
      protected String firstName;
      @NotNull
      protected String lastName;
      protected UserType type;
      protected ContactInfoDTO contact;
      protected List&lt;ResumeDTO&gt; resumes;
  
      public UserDTO(){}
      //...
  </code></pre>
  
  <p>I'm trying to retrive from db this concrete class</p>
  
  <pre><code>public class UserType1DTO extends UserDTO {
  
      private CompanyDTO company;
  
      public UserType1DTO(){
          super();
      }
  
      public UserType1DTO(String firstName, String lastName, ContactInfoDTO contact, CompanyDTO company) {
          super(UserType.type1, firstName, lastName, contact);
          this.company = company;
      }
      /...
  </code></pre>
  
  <p>Like this:</p>
  
  <pre><code>return mapper.map((UserType1) entity,UserType1DTO.class);
  </code></pre>
  
  <p>And I get this error about not being able to instanciate <code>ResumeDTO</code></p>
  
  <pre><code>Failed to instantiate instance of destination *.dto.ResumeDTO. Ensure that *.dto.ResumeDTO has a non-private no-argument constructor.
  </code></pre>
  
  <p>ResumeDTO is similar to UserDTO, is an abstract class and has concrete classes for each user type. All they have constructors with no arguments.
  What is the problem?</p>