<!--

    Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<collectionHolderInitialized abcQName="80" attribute-referenced-id="4 5" collection12="abc def">
   <collection2>one two</collection2>
   <referencedObject>
       <id>1</id>
   </referencedObject>
   <root>60</root>
   <root>70</root>
   <referenced-id>2 3</referenced-id>
   <collection13integer>123</collection13integer>
   <collection13string>eee</collection13string>
   <collection13integer>456</collection13integer>
   <collection14integer>123</collection14integer>
   <collection14string>eee</collection14string>
   <collection14integer>456</collection14integer>
   <collection1>10</collection1>
   <collection1>20</collection1>
   <collection11>YWJj</collection11>
   <collection11>ZGVm</collection11>
   <collection3 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:int">20</collection3>
   <collection3 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:int">30</collection3>
   <collection5 collection12="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="collectionHolderInitialized">
      <collection2></collection2>
   </collection5>
   <collection9>1</collection9>
   <collection9>5</collection9>
</collectionHolderInitialized>
