question: the extra element may appear any number of times . gets the value of the extras property . this accessor method returns a reference to the live list , not a snapshot . therefore any modification you make to the returned list will be present inside the jaxb object . this is why there is not a set method for the extras property . for example , to add a new item , do as follows : getextras . add newitem ; objects of the following type s are allowed in the list extra concode_field_sep List<Source> sources concode_elem_sep List<Channel> channels concode_elem_sep List<Animation> animations concode_elem_sep String name concode_elem_sep List<Extra> extras concode_elem_sep List<Sampler> samplers concode_elem_sep String id concode_elem_sep Asset asset concode_field_sep Asset getAsset concode_elem_sep void setName concode_elem_sep String getName concode_elem_sep void setAsset concode_elem_sep List<Channel> getChannels concode_elem_sep void setId concode_elem_sep String getId concode_elem_sep List<Source> getSources concode_elem_sep List<Sampler> getSamplers concode_elem_sep List<Animation> getAnimations
target: List < Extra > function ( ) { if ( extras == null ) { extras = new ArrayList < Extra > ( ) ; } return this . extras ; }