É possível ignorar uma classe wrapper durante o empacotamento de JAXB

Eu estou tentando obter JAXB para ignorar uma classe wrapper durante o processo de Mashalling, faz sentido ter essa classe de wrapper no código, como manter todas as informações relacionadas em conjunto, no entanto eu preciso para se livrar dele durante o processo de empacotamento. O seguinte é o código relevante.

@XmlType(name = "root")
@XmlRootElement(name = "root")
public class Root {

    @XmlElementRef
    private List<Resource> resources = new ArrayList<>();

    public void addResource(Resource resource) {
        resources.add(resource);
    }
}


@XmlRootElement(name = "", namespace = "")
@XmlAccessorType(XmlAccessType.NONE)
public class Resource {

    @XmlElementRef
    private Element element;
    @XmlElementRef
    private FieldType fieldType;
    @XmlElementRef
    private ListType listType;
}

Raiz é o objeto principal e Resource é o objeto wrapper que eu gostaria que não fosse criado por um nó. Eu ainda quero o elemento, FieldType e ListType dentro do recurso a ser processado no entanto.

Isto é o que eu tenho atualmente:

<root>
    <>
        <element name="resource1"/>
        <fieldType name="resource1--type">
        </fieldType>
        <listType name="resource--list">
        </listType>
    </>
    <>
        <element name="resource2"/>
        <fieldType name="resource2--type">
        </fieldType>
        <listType name="resource2--list">
        </listType>
    </>
</root>

O que eu gostaria de alcançar é o seguinte:

<root>
    <element name="resource1"/>
    <fieldType name="resource1--type">
    </fieldType>
    <listType name="resource--list">
    </listType>
    <element name="resource2"/>
    <fieldType name="resource2--type">
    </fieldType>
    <listType name="resource2--list">
    </listType>
</root>

Não sei se é possível, mas qualquer ajuda seria apreciada.

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion