title: LazyList.decorate - InstantiateFactory: The constructor must exist and be public exception
body: <p>I have that code:</p>
  
  <pre><code>public class User   
  ...
  private List&lt;Country&gt; countries = LazyList.decorate(new ArrayList(), FactoryUtils.instantiateFactory(Country.class));
      private String country;
  
  ...
  public void setCountries(List&lt;Country&gt; countries) {
          this.countries = countries;
      }
  
      public List&lt;Country&gt; getCountries() {
          return countries;
      }
  ...
  </code></pre>
  
  <p>In country class:</p>
  
  <pre><code>public class Country {
  
      private int countryId;
      private String countryName;
  
      public Country(int countryId, String countryName)
      {
          this.countryId = countryId;
          this.countryName = countryName;
      }
  
      public int getCountryId() {
          return countryId;
      }
  
      public void setCountryId(int countryId) {
          this.countryId = countryId;
      }
  
      public String getCountryName() {
          return countryName;
      }
  
      public void setCountryName(String countryName) {
          this.countryName = countryName;
      }
  
  }
  </code></pre>
  
  <p>When I create a new User object I give this exception:</p>
  
  <blockquote>
    <p>java.lang.IllegalArgumentException: InstantiateFactory: The constructor must exist and be public</p>
  </blockquote>
  
  <p>Anyone know why?</p>