property.setNillable(elementProperty.isCollectionNillable());
} else {
property.setXmlList(true);
if (elementProperty.getTypes().size() != 1) throw new BuildException("Expected 1 element mapped to property " + property + " but there are " + elementProperty.getTypes().size() + " mappings");
RuntimeTypeRef elementType = elementProperty.getTypes().get(0);
ElementMapping elementMapping = createXmlMapping(property, elementType);
elementMapping.setNillable(false);
property.getElementMappings().add(elementMapping);
property.setXmlName(elementType.getTagName());
property.setRequired(false);
property.setNillable(false);
}
} else if (runtimePropertyInfo instanceof RuntimeReferencePropertyInfo) {
RuntimeReferencePropertyInfo referenceProperty = (RuntimeReferencePropertyInfo) runtimePropertyInfo;