title: Polymorphism in XStream serialization and deserialization
body: <p>I have these classes:</p>
  
  <pre><code>@XStreamAlias("person")
  public class PersonConfig {
  
      private AnimalConfig animalConfig;
  
  }
  
  public interface AnimalConfig {}
  
  @XStreamAlias("dog");
  public class DogConfig extend AnimalConfig {}
  
  @XStreamAlias("cat");
  public class CatConfig extend AnimalConfig {}
  </code></pre>
  
  <p>And I would like to be able to deserialize this xml with the classes above:</p>
  
  <pre><code>&lt;person&gt;
      &lt;dog/&gt;
  &lt;person&gt;
  </code></pre>
  
  <p>As well as deserialize this xml too, with the same classes:</p>
  
  <pre><code>&lt;person&gt;
      &lt;cat/&gt;
  &lt;person&gt;
  </code></pre>
  
  <p>So that in both cases, the <code>PersonConfig</code>'s field <code>animalConfig</code> is filled. In the first XML with a <code>DogConfig</code> instance and in the second XML with a <code>CatConfig</code> instance.</p>
  
  <p>Is this possible by adding some annotation to make this work?</p>