JAXB inheritance conflict
===

I currently have this enviorment on my project:

    public abstract class Foo {
    
       private List<Thing> things;
    
       public List<Thing> getThings() { return this.things; }
    }
    
    public abstract class Bar extends Foo {
    
    
       @XmlElements({@XmlElement(name = "first", type = First.class)})
       public List<Thing> getThings() { return super.getThings(); }
    
    }
    
    public class Bobar extends Bar {
    
       @XmlElements({@XmlElement(name = "second", type = Second.class)})
       public List<Thing> getThings() { return super.getThings(); }
    
    }

For the following XML document

    <bobar>
       <first>blablabla</first>
       <second>blublublu</second>
    </bobar>

When I do

    context = JAXBContext.newInstance("the.package.structure");
    unmarshaller = context.createUnmarshaller();
    Bar object = (bar) unmarshaller.unmarshal("path-to-xml-document");

The object bar only has one element in the collection, not 2. The `Second` element is completly lost, when I try to do `object.getThings()`, it's size is 1 and the only object inside the colleciotn is an instance of `First`. Can someone help me how can I achieve to get both objects in the collection? And if that's not possible, how can I achieve something similar to this?

The reason I'm doing this is that every `Bobar` has a `First` in it's collection, but not every `Bar` has a `Second` in it's collection.