}
boolean isMulti = Field.Type.isMulti(fieldType);
List<Object> values = isMulti ? new ArrayList<Object>() : null;
for (XMLElement valueCandidates : fields.getInnerElementsNamed("value")) {
final XMLText firstInnerText = valueCandidates.getFirstInnerText();
if (firstInnerText != null) valueAsString = firstInnerText.getText();
Object value;
try {
value = extractFieldValue(valueAsString, fieldType);
} catch (IllegalArgumentException e) {
logger.warn("malformed field value for field = " + varName + " and raw value = " + valueAsString);