}
// copy unique new metadata members
Iterator<LocalizedField> fieldIter = fields.iterator();
while (fieldIter.hasNext())
{
LocalizedField field = (LocalizedField)fieldIter.next();
if (!this.fields.contains(field))
{
addField(field.getLocale(), field.getName(), field.getValue());
}
}
}
// update field map
Map<String,Collection<LocalizedField>> fieldMap = getFieldMap(false);
if (fieldMap != null)
{
fieldMap.clear();
}
if (this.fields != null)
{
Iterator<LocalizedField> fieldIter = this.fields.iterator();
while (fieldIter.hasNext())
{
LocalizedField field = (LocalizedField)fieldIter.next();
addFieldMap(field);
}
}
}