Element datatypeElement = DomHelper.getChildElement(widgetElement, Constants.WD_NS, "datatype");
if (datatypeElement == null)
throw new Exception("A nested datatype element is required for the widget specified at " + DomHelper.getLocation(widgetElement));
Datatype datatype = datatypeManager.createDatatype(datatypeElement, false);
fieldDefinition.setDatatype(datatype);
buildSelectionList(widgetElement, fieldDefinition);
Iterator iter = buildEventListeners(widgetElement, "on-value-changed", ValueChangedEvent.class).iterator();