title: Put more than one child JAXBElement into parent JAXBElement
body: <p>The following code works:</p>
  
  <pre><code>private List&lt;Object&gt; custom;
  
  @XmlAnyElement
  public List&lt;Object&gt; getCustom() {
      if (custom == null) {
          custom = new ArrayList&lt;&gt;();
  
          final JAXBElement&lt;String&gt; lv2elem =
              new JAXBElement&lt;String&gt;(new QName("lv2"), String.class, "val1");
  
          final JAXBElement lv1elem =
              new JAXBElement(new QName("lv1"), JAXBElement.class, lv2elem);
          custom.add(lv1elem);
      }
      return custom;
  }
  </code></pre>
  
  <p>When marshaling the object it produces the following XML:</p>
  
  <pre><code>&lt;xml&gt;
      &lt;lv1&gt;
          &lt;lv2&gt;val1&lt;/lv2&gt;
      &lt;/lv1&gt;
  &lt;/xml&gt;
  </code></pre>
  
  <p><strong>How to make it produce more than one <code>lv2</code> element?</strong> The desired output:</p>
  
  <pre><code>&lt;xml&gt;
      &lt;lv1&gt;
          &lt;lv2&gt;val1&lt;/lv2&gt;
          &lt;lv2&gt;val2&lt;/lv2&gt;
      &lt;/lv1&gt;
  &lt;/xml&gt;
  </code></pre>
  
  <p>In the end I want to create a deep XML structure with dynamic tags.</p>
  
  <p>I tried to pass different <code>declaredType</code> and <code>value</code> to the constructor of <code>lv1elem</code>, without luck:</p>
  
  <pre><code>// class [Ljavax.xml.bind.JAXBElement; nor any of its super class is known to this context.
  lv1elem = new JAXBElement(new QName("lv1"), JAXBElement.class, new JAXBElement[] { lv2elem });
  
  // [Ljavax.xml.bind.JAXBElement; is not known to this context
  lv1elem = new JAXBElement(new QName("lv1"), JAXBElement[].class, new JAXBElement[] { lv2elem });
  
  // class java.util.Arrays$ArrayList nor any of its super class is known to this context.
  lv1elem = new JAXBElement(new QName("lv1"), JAXBElement.class, Arrays.asList(new JAXBElement[] { lv2elem } ));
  </code></pre>